/*
Theme Name: Private Dinners by JD
Author: JD Bennett
Description: Custom Dallas private dining website, with bundled photography and an inquiry form.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: private-dinners-by-jd
*/
:root{--paper:#faf7f0;--ink:#292d29;--muted:#62635b;--line:#d8d5ca;--accent:#75533b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid #a66b34;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}p+p{margin-top:1.2rem}.header{padding:25px 5.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.brand{text-decoration:none;text-align:center;line-height:1.1;flex-shrink:0}.brand span{display:block;font-family:Georgia,serif;font-size:25px;letter-spacing:-1px}.brand i{font-family:Georgia,serif;font-size:19px}nav{display:flex;align-items:center;gap:35px;font-size:14px}nav a{text-decoration:none}.nav-cta{border-bottom:1px solid var(--ink);padding-bottom:5px}.hero{display:grid;grid-template-columns:44% 56%;min-height:670px}.hero-copy{padding:76px 9% 65px 12.5%;align-self:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;line-height:1.6;margin-bottom:25px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-1.5px}h1{font-size:clamp(52px,5.6vw,87px)}h1 em{color:var(--accent);font-weight:400}.intro{max-width:360px;margin-top:29px;color:var(--muted);font-size:18px}.button{display:inline-flex;gap:32px;justify-content:space-between;align-items:center;background:var(--ink);color:white;text-decoration:none;padding:16px 23px;font-size:15px;margin-top:30px;min-height:52px}.button:hover{background:#444c42}.small{font-size:13px;color:var(--muted);margin-top:20px}.hero-photo{position:relative;min-height:640px;overflow:hidden}.hero-photo img{position:absolute;object-position:40% 50%}.hero-photo figcaption{position:absolute;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.65));padding:65px 30px 22px;color:white;width:100%;font-family:Georgia,serif;font-size:18px;display:flex;justify-content:space-between;gap:12px;align-items:end}.hero-photo figcaption span{font:10px Arial,sans-serif;letter-spacing:1.8px}.section{padding:95px 7%;max-width:1600px;margin:auto}h2{font-size:clamp(36px,3.4vw,54px)}.experience{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-bottom:1px solid var(--line)}.experience-copy{color:var(--muted);max-width:520px;padding-top:8px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:42px}.section-heading>p{max-width:330px;color:var(--muted);font-size:15px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 27px}.feature{grid-column:span 2}.photo{height:295px;overflow:hidden;background:#e8e3d7}.feature .photo{height:340px}.feature+.dish .photo{height:340px}.tart img{width:155%;max-width:none;object-position:center;transform:translateX(-29%)}.lamb img{object-position:75% center}.dish h3{font-size:24px;letter-spacing:-.5px;margin-top:18px}.dish p{font-size:14px;color:var(--muted);margin-top:6px}.about{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;border-top:1px solid var(--line)}.about-photo{height:540px}.about-photo img{object-position:center 65%}.about-copy{max-width:530px}.about-copy h2{margin-bottom:30px}.about-copy>p:not(.eyebrow):not(.signature){color:var(--muted)}.signature{font:italic 48px Georgia,serif;margin-top:20px}.inquire{background:#2c352e;color:var(--paper);max-width:none;display:grid;grid-template-columns:1.1fr 1fr;gap:100px;padding-top:80px;padding-bottom:85px}.inquire h2{font-size:58px}.contact-intro{margin-top:25px;max-width:530px;color:#e0e3da}.personal-dinner{margin-top:35px;padding-top:25px;border-top:1px solid #6d786c;max-width:540px}.personal-dinner strong{font-weight:400;font-family:Georgia,serif;font-size:26px}.personal-dinner p{font-size:14px;color:#d3d9ce;margin-top:12px}.contact-card{padding:6px 0 0 40px;border-left:1px solid #6d786c}.phone{font-family:Georgia,serif;font-size:38px;line-height:1.3;text-decoration:none}.contact-card>p:not(.eyebrow){font-size:15px;margin-top:9px}.contact-actions{display:flex;align-items:center;gap:32px;margin-top:20px}.light{background:var(--paper);color:var(--ink);margin:0}.light:hover{background:#dfded4}.email{font-size:16px}.email-address{display:inline-block;margin-top:20px;font-size:15px;overflow-wrap:anywhere}.service-area{margin-top:35px;font-size:14px;color:#d3d9ce;max-width:330px}.service-area strong{color:var(--paper);font-size:16px}.service-area p{margin-top:10px}footer{display:flex;align-items:center;justify-content:space-between;padding:30px 7%;gap:25px;font-size:13px;color:var(--muted)}.footer-logo{width:240px;height:120px}.footer-logo img{object-fit:contain}footer a{font-size:14px}.skip{position:absolute;top:-100px;left:15px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero-copy{padding-left:max(12.5%,calc((100vw - 1400px)/2))}}@media(max-width:1000px){nav{gap:22px}.hero{min-height:600px}.hero-copy{padding:45px 8% 45px 12%}.hero-photo{min-height:600px}.hero-photo figcaption span{display:none}.experience,.about{gap:45px}.section{padding:70px 6%}.gallery{grid-template-columns:repeat(2,1fr)}.feature{grid-column:span 1}.photo,.feature .photo,.feature+.dish .photo{height:300px}.inquire{gap:45px}.inquire h2{font-size:46px}.phone{font-size:30px}}@media(max-width:680px){.header{padding:20px 6%}.brand span{font-size:22px}nav>a:not(.nav-cta){display:none}nav{font-size:13px}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 7%}.hero h1{font-size:61px}.intro{max-width:100%}.hero-photo{min-height:390px}.hero-photo img{object-position:40% center}.hero-photo figcaption{padding-left:7%;font-size:17px}.section{padding:58px 7%}.experience,.about,.inquire{grid-template-columns:1fr;gap:28px}.section-heading{display:block}.section-heading>p{margin-top:22px}.gallery{grid-template-columns:1fr;gap:30px}.photo,.feature .photo,.feature+.dish .photo{height:300px}.about-photo{height:360px}.about-copy h2{margin-bottom:25px}.inquire h2{font-size:45px}.contact-card{border-left:0;border-top:1px solid #6d786c;padding:30px 0 0}.phone{font-size:36px}.service-area{max-width:100%}footer{flex-wrap:wrap;padding:25px 7%}.footer-logo{width:200px;height:100px}footer p{width:100%;order:3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Centered signature header with a separate navigation row. */
.header{flex-direction:column;justify-content:center;padding:24px 6% 17px;gap:15px}
.brand{display:block;position:relative;width:280px;height:132px;overflow:hidden;mix-blend-mode:multiply}
.brand img{position:absolute;width:560px;height:280px;max-width:none;left:-140px;top:-76px;object-fit:contain}
.header nav{justify-content:center;gap:34px;font-size:14px}
.header nav a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0}
.header nav a:hover{color:var(--accent)}
@media(max-width:680px){.header{padding:18px 5% 12px;gap:10px}.brand{width:230px;height:110px}.brand img{width:460px;height:230px;left:-115px;top:-62px}.header nav{gap:24px;font-size:13px}.header nav>a:not(.nav-cta){display:inline-flex}}
.brand img{filter:grayscale(1) brightness(1.08)}
.header nav a{text-transform:uppercase;letter-spacing:1px}
@media(max-width:680px){.header nav{gap:18px}.header nav a{letter-spacing:.8px;font-size:12px}}

.salmon img{object-position:center 85%}

/* Gentle warmth and color for the food photography. */
.hero-photo img,.gallery .photo img{filter:sepia(.05) brightness(1.05) contrast(1.05) saturate(1.14)}


/* Reuse the handwritten portion of the original logo. */
.logo-signature{position:relative;width:205px;height:112px;margin-top:24px;overflow:hidden;mix-blend-mode:multiply}
.logo-signature img{position:absolute;width:640px;height:320px;max-width:none;left:-228px;top:-137px;object-fit:contain;filter:grayscale(1) brightness(1.08)}

.process{border-bottom:1px solid var(--line)}
.process-heading{max-width:740px}.process-heading>p:last-child{max-width:660px;margin-top:25px;color:var(--muted)}
.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:44px}
.process-steps article{border-top:1px solid var(--line);padding-top:20px}
.step-number{display:block;font-size:12px;letter-spacing:2px;color:var(--accent);margin-bottom:16px}
.process-steps h3{font-size:30px;letter-spacing:-.6px}.process-steps p{font-size:16px;color:var(--muted);margin-top:15px}
.process-note{font-size:14px;color:var(--muted);margin-top:30px}
@media(max-width:1000px){.process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}}
@media(max-width:680px){.process-steps{grid-template-columns:1fr;gap:25px;margin-top:32px}.process-steps article{padding-top:16px}.step-number{margin-bottom:10px}}

.process-note{border-top:1px solid var(--line);padding-top:24px;margin-top:35px;max-width:760px}.process-note h3{font-size:25px;letter-spacing:-.5px;color:var(--ink)}.process-note p{margin-top:12px;font-size:16px}

.inquiry-form{margin-top:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.form-grid label{display:block;font-size:14px;color:var(--paper)}.optional{font-size:12px;color:#d3d9ce}.form-grid input,.form-grid textarea{display:block;width:100%;min-width:0;margin-top:7px;border:1px solid #899588;border-radius:0;background:#faf7f0;color:var(--ink);font:16px/1.4 Arial,sans-serif;padding:12px;min-height:47px}.form-grid textarea{resize:vertical}.form-grid input:focus-visible,.form-grid textarea:focus-visible{outline:3px solid #d8b184;outline-offset:2px}.full-width{grid-column:1/-1}.form-note{font-size:12px;color:#d3d9ce;margin:18px 0}.inquiry-form button{border:0;font-family:inherit}.inquiry-form button:disabled{cursor:not-allowed;opacity:.8}.contact-card .call-option{font-size:14px;margin-top:25px}@media(max-width:680px){.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}}

.direct-contact{margin-top:28px}.direct-contact p{font-size:18px}.direct-phone{display:inline-block;font-family:Georgia,serif;font-size:28px;line-height:1.4;margin-top:5px;text-decoration:none}.direct-email{display:block;width:fit-content;font-size:17px;margin-top:9px;overflow-wrap:anywhere}

.jd-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.jd-form-status{border:1px solid #b8c7b3;padding:16px;margin-bottom:24px;color:var(--paper)}.inquiry-form button{cursor:pointer}.wp-content h1{font-size:48px;margin-bottom:30px}.wp-content article+article{margin-top:55px}.wp-content img{height:auto}.entry-content{margin-top:25px}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* Mobile usability refinements. */
.direct-phone,.direct-email{min-height:44px;padding-top:4px;padding-bottom:4px}
@media(max-width:680px){.hero h1{font-size:clamp(40px,12vw,54px)}.header nav{gap:14px}.header nav a{white-space:nowrap;font-size:12px;letter-spacing:.4px}footer>a{display:inline-flex;align-items:center;min-height:44px}.hero-copy{padding-top:34px;padding-bottom:36px}}

@media(min-width:681px) and (max-width:1000px){.inquire{grid-template-columns:1fr;gap:35px}.contact-card{border-left:0;border-top:1px solid #6d786c;padding:30px 0 0}}
