/*
Theme Name: 8 Dogs
Theme URI: https://8dogs.ca
Author: 8 Dogs
Description: A lean block theme for the 8 Dogs laser engraving brochure site.
Version: 0.2.2
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: eightdogs
*/

:root { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
a { text-underline-offset: .18em; transition: color .2s ease, opacity .2s ease; }
.wp-site-blocks { overflow: hidden; }
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.wp-block-post-content > .eightdogs-hero ~ * { margin-block-start: 0 !important; }
.eightdogs-header { padding: 1.15rem clamp(1.25rem, 3vw, 3rem); position: relative; z-index: 10; }
.eightdogs-header .wp-block-site-title { font-family: var(--wp--preset--font-family--display); font-size: 1.65rem; letter-spacing: -.04em; }
.eightdogs-header .wp-block-site-title a { display: inline-flex; align-items: center; gap: .7rem; }
.eightdogs-header .wp-block-site-title a::before { content: ""; width: 3.1rem; height: 2.5rem; background: url("assets/images/8dogs-logo.png") center / contain no-repeat; filter: invert(1); }
.eightdogs-header a { text-decoration: none; }
.eightdogs-header .wp-block-navigation-item__content { align-items: center; display: inline-flex; min-height: 2.75rem; padding-block: .6rem; }
.eightdogs-nav-cta { border: 1px solid var(--wp--preset--color--copper); padding: .45rem .8rem !important; }
.eightdogs-hero { min-height: min(650px, 68vh); display: flex; align-items: center; padding: clamp(4.5rem, 8vw, 7rem) clamp(1.25rem, 3vw, 3rem); position: relative; }
.eightdogs-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 83% 44%, rgba(217,154,94,.17), transparent 25%), linear-gradient(115deg, transparent 55%, rgba(255,255,255,.035) 55%); pointer-events: none; }
.eightdogs-hero h1 { letter-spacing: -.055em; margin: .35rem 0 1.5rem; }
.eightdogs-hero h1 em { color: var(--wp--preset--color--copper); font-weight: 400; }
.eightdogs-hero-copy { max-width: 610px; color: #e1d9d0; }
.eightdogs-eyebrow { letter-spacing: .16em; text-transform: uppercase; font-size: .73rem; font-weight: 750; }
.eightdogs-material-mark { aspect-ratio: 1; border: 1px solid rgba(217,154,94,.55); border-radius: 50%; display: grid; place-items: center; transform: rotate(5deg); max-width: 330px; margin-left: auto; }
.eightdogs-material-mark p { color: var(--wp--preset--color--copper); font-family: var(--wp--preset--font-family--display); font-size: clamp(1.2rem, 2.7vw, 2rem); line-height: 1.65; letter-spacing: .15em; text-align: center; }
.eightdogs-trust-strip { padding: 1rem clamp(1.25rem, 3vw, 3rem); text-transform: uppercase; letter-spacing: .06em; font-size: .72rem; }
.eightdogs-section, .eightdogs-process { padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 3vw, 3rem); }
.eightdogs-section h2, .eightdogs-process h2, .eightdogs-cta h2 { font-size: clamp(2.5rem, 5vw, 4.8rem); letter-spacing: -.045em; }
.eightdogs-service-grid { margin-top: clamp(2rem, 5vw, 4.5rem); gap: 1.2rem; }
.eightdogs-card { min-height: 330px; height: 100%; box-sizing: border-box; padding: 2rem; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid #cfc4b7; transition: transform .25s ease, box-shadow .25s ease; }
.eightdogs-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(32,29,26,.1); }
.eightdogs-card--one { background: #e7d5be; }
.eightdogs-card--two { background: #cf8060; color: #201d1a; }
.eightdogs-card--three { background: #36312c; color: #fff; }
.eightdogs-card-number { font-size: .75rem; letter-spacing: .15em; margin-bottom: auto; opacity: .7; }
.eightdogs-card h3 { font-size: clamp(1.5rem, 2.5vw, 2.2rem); }
.eightdogs-step { border-top: 1px solid #bcae9c; padding: 1.5rem 0; gap: 1.5rem; align-items: flex-start; }
.eightdogs-step > p { color: var(--wp--preset--color--wood); min-width: 2rem; }
.eightdogs-step h3, .eightdogs-step p { margin-top: 0; }
.eightdogs-cta { padding: clamp(4rem, 7vw, 6.5rem) clamp(1.25rem, 3vw, 3rem); }
.eightdogs-footer { padding: 5rem clamp(1.25rem, 3vw, 3rem) 2rem; }
.eightdogs-footer a { color: #fff; }
.eightdogs-footer p a { align-items: center; display: inline-flex; min-height: 2.75rem; }
.eightdogs-footer .wp-block-site-title { font-size: clamp(2rem, 5vw, 4.5rem); }
.eightdogs-footer hr { opacity: .2; margin-top: 3rem; }
.wp-element-button { transition: transform .2s ease, filter .2s ease; }
.wp-element-button:hover { transform: translateY(-2px); filter: brightness(1.08); }
.eightdogs-page-hero { padding: clamp(4rem, 7vw, 6.5rem) clamp(1.25rem, 3vw, 3rem); }
.eightdogs-page-hero h1 { font-size: clamp(3rem, 7vw, 6rem); letter-spacing: -.055em; margin: .5rem 0 0; max-width: 960px; }
.eightdogs-page-content { padding: clamp(3.5rem, 7vw, 6rem) clamp(1.25rem, 3vw, 3rem) clamp(5rem, 9vw, 8rem); }
.eightdogs-page-content > .wp-block-post-content > :not(.alignwide):not(.alignfull) { max-width: 1000px; margin-inline: auto; }
.eightdogs-form-intro { max-width: 1000px; background: var(--wp--preset--color--sand); border: 0; border-radius: 12px; margin: 3rem auto 0; padding: clamp(1.75rem, 4vw, 3rem); }
.eightdogs-form-intro h2 { font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.04em; margin: .25rem 0 1rem; }
.eightdogs-required-note { font-size: .78rem; margin-top: 1.5rem; text-transform: uppercase; letter-spacing: .08em; }
.eightdogs-required-note span, .eightdogs-field label span, .eightdogs-label > span { color: var(--wp--preset--color--wood); }
.eightdogs-form { max-width: 1000px; counter-reset: section; margin-inline: auto; }
.eightdogs-form-section { background: #fff; border: 1px solid #d7ccbe; border-radius: 12px; padding: clamp(2rem, 4vw, 3.25rem); margin: 1.25rem 0; min-width: 0; }
.eightdogs-form-section legend { display: flex; align-items: center; gap: .85rem; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.55rem, 3vw, 2.2rem); font-weight: 700; letter-spacing: -.025em; padding: 0 .5rem; width: auto; }
.eightdogs-form-section legend span { align-items: center; background: var(--wp--preset--color--ink); border-radius: 50%; color: #fff; display: inline-flex; font-family: var(--wp--preset--font-family--sans); font-size: .68rem; height: 2.25rem; justify-content: center; letter-spacing: .08em; width: 2.25rem; }
.eightdogs-section-help { color: #675f57; margin: .6rem 0 1.8rem 3.1rem; max-width: 620px; }
.eightdogs-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem 1.5rem; }
.eightdogs-field { display: flex; flex-direction: column; gap: .48rem; min-width: 0; }
.eightdogs-field--wide { grid-column: 1 / -1; }
.eightdogs-field label, .eightdogs-label { font-size: .82rem; font-weight: 750; letter-spacing: .025em; }
.eightdogs-field-help { color: #6e655d; font-size: .78rem; line-height: 1.45; }
.eightdogs-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: .35rem; }
.eightdogs-options label { align-items: center; background: #f1eae1; border: 1px solid #d2c5b5; border-radius: 7px; cursor: pointer; display: flex; gap: .75rem; min-height: 3.25rem; padding: .7rem .9rem; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.eightdogs-options label:hover { background: #e9ded1; border-color: #9b8976; }
.eightdogs-options label:has(input:checked) { background: #e5c3ad; border-color: var(--wp--preset--color--wood); box-shadow: inset 0 0 0 1px var(--wp--preset--color--wood); }
.eightdogs-options label span { display: flex; flex-direction: column; line-height: 1.25; }
.eightdogs-options small { color: #625a52; font-size: .7rem; font-weight: 500; }
.eightdogs-options input { accent-color: var(--wp--preset--color--wood); inline-size: 1.35rem; block-size: 1.35rem; flex: 0 0 auto; }
.eightdogs-field input:not([type="checkbox"]):not([type="radio"]), .eightdogs-field select, .eightdogs-field textarea { appearance: none; box-sizing: border-box; color: inherit; background: #fff; border: 1px solid #9b9085; border-radius: 6px; font: inherit; min-height: 3.25rem; padding: .78rem .9rem; width: 100%; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.eightdogs-field select { background-image: linear-gradient(45deg, transparent 50%, #4f4943 50%), linear-gradient(135deg, #4f4943 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-repeat: no-repeat; background-size: 5px 5px; padding-right: 2.8rem; }
.eightdogs-field textarea { min-height: 10rem; resize: vertical; }
.eightdogs-field input:hover, .eightdogs-field select:hover, .eightdogs-field textarea:hover { border-color: #5d554e; }
.eightdogs-form :focus-visible { outline: 3px solid #1874b5; outline-offset: 3px; }
.eightdogs-field input:focus, .eightdogs-field select:focus, .eightdogs-field textarea:focus { border-color: #1874b5; box-shadow: 0 0 0 1px #1874b5; }
.eightdogs-submit-row { align-items: center; display: flex; justify-content: space-between; gap: 2rem; padding-top: 2.5rem; }
.eightdogs-submit-row p { color: #665e56; font-size: .85rem; margin: 0; }
.eightdogs-form button { border: 0; border-radius: 5px; background: var(--wp--preset--color--wood); color: #fff; cursor: pointer; font: inherit; font-weight: 750; min-height: 3.4rem; padding: .9rem 1.4rem; transition: background .18s ease, transform .18s ease; }
.eightdogs-form button:hover { background: #943d21; transform: translateY(-2px); }
.eightdogs-form button:active { transform: translateY(0); }
.eightdogs-alert { border: 1px solid; border-left-width: 5px; border-radius: 5px; padding: 1rem 1.15rem; margin: 2rem 0 0; }
.eightdogs-alert--success { background: #e8f2e8; border-color: #39733f; }
.eightdogs-alert--error { background: #fff0ec; border-color: #a63c28; }
.eightdogs-hp { position: absolute !important; left: -9999px !important; }
@media (max-width: 781px) { .eightdogs-material-mark { max-width: 240px; margin: 2rem auto 0; } .eightdogs-trust-strip .wp-block-group { justify-content: center !important; } }
@media (max-width: 680px) { .eightdogs-form-grid, .eightdogs-options { grid-template-columns: 1fr; } .eightdogs-form-section { padding: 1.35rem; } .eightdogs-hero { min-height: auto; } .eightdogs-header { padding-block: .9rem; } .eightdogs-nav-cta { border: 0; padding: 0 !important; } .eightdogs-section-help { margin-left: 0; } .eightdogs-submit-row { align-items: stretch; flex-direction: column; } .eightdogs-form button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { :root { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; } }
