/*
Theme Name: Triangle Painting — Custom
Description: Shared custom layout for Triangle Painting and Drywall LLC. Requires Hello Elementor; the Elementor plugin is not required.
Author: Impact Design Studios
Template: hello-elementor
Version: 1.3.0
Text Domain: triangle-painting-child
*/
html{scroll-behavior:smooth;scroll-padding-top:120px}
body.tpd-body{margin:0;background:#fff}
.tpd-site{width:100%;min-height:100vh}
.tpd-site #tpd-main{margin:0;padding:0;max-width:none}
body.admin-bar .tpd-site .tpd-header{top:32px}
.tpd-site [id^="tpd-"]{scroll-margin-top:120px}
.tpd-site .tpd-county-dropdown .tpd-dd-item{padding:9px 16px}
.tpd-site .tpd-section article+article{margin-top:40px}
@media(max-width:782px){body.admin-bar .tpd-site .tpd-header{top:46px}}
@media(max-width:600px){body.admin-bar .tpd-site .tpd-header{top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tpd-site .tpd-reveal{opacity:1;transform:none;transition:none}.tpd-site *{scroll-behavior:auto}}

/* Plugin retains its widget styling; theme styles the surrounding section. */
.tpd-site .tpd-reviews{background:#fff}
.tpd-site .tpd-reviews-widget{min-width:0;max-width:100%;overflow-wrap:anywhere}
/* All gallery thumbnails share the same proportions. Full photos open separately. */
.tpd-site .tpd-gallery .tpd-g-item{aspect-ratio:4/3}
.tpd-site .tpd-sc-media{aspect-ratio:4/3}
.tpd-site .tpd-sc-media img{width:100%;height:100%;object-fit:cover}
.tpd-site .tpd-cf7-card .wpcf7{margin:0}
.tpd-site .tpd-cf7-card .wpcf7 p{margin:0}
.tpd-site .tpd-cf7-card .wpcf7-form-control-wrap{display:block}
.tpd-site .tpd-cf7-card input:not([type=submit]),.tpd-site .tpd-cf7-card select,.tpd-site .tpd-cf7-card textarea{width:100%;max-width:100%}
.tpd-site .tpd-cf7-card textarea{height:96px;min-height:96px;resize:vertical}
.tpd-site .tpd-cf7-card .wpcf7-submit{width:100%;margin-top:16px;cursor:pointer}
.tpd-site .tpd-cf7-card .wpcf7-not-valid-tip{font-size:12px;margin-top:4px;color:#a51c1c}
.tpd-site .tpd-cf7-card .wpcf7-response-output{margin:14px 0 0;padding:10px 12px;font-size:14px;line-height:1.5;border-radius:6px}
.tpd-site .tpd-cf7-card .wpcf7-spinner{margin:8px auto;display:block}
.tpd-site .tpd-lightbox{max-width:min(1100px,94vw);width:94vw;max-height:94vh;padding:48px 14px 18px;border:0;border-radius:12px;background:#171d19;color:white;overflow:auto}
.tpd-site .tpd-lightbox::backdrop{background:rgba(0,0,0,.88)}
.tpd-site .tpd-lightbox img{width:100%;height:72vh;object-fit:contain}
.tpd-site .tpd-lightbox-close{position:absolute;right:14px;top:10px;background:transparent;border:1px solid #fff6;color:#fff;border-radius:6px;padding:6px 12px;cursor:pointer}
.tpd-site .tpd-lightbox-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}
.tpd-site .tpd-lightbox-controls button{background:#fff;color:#171d19;border:0;border-radius:6px;padding:8px 14px;cursor:pointer}
.tpd-site .tpd-lightbox-caption{font-size:14px;text-align:center;margin-top:10px}

/* Triangle update: no service-photo numbering; equal service cards. */
.tpd-site .tpd-sc-num{display:none!important}
.tpd-site .tpd-service-grid>article+article,.tpd-site .tpd-landing-cards>article+article{margin-top:0}
.tpd-site .tpd-service-card{display:flex;flex-direction:column}
.tpd-site .tpd-sc-body{display:flex;flex:1;flex-direction:column}
.tpd-site .tpd-sc-foot{margin-top:auto;padding-top:22px}
/* Mixed-format project collage; the full uncropped photo opens in the viewer. */
.tpd-site .tpd-gallery.tpd-collage{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;grid-auto-flow:dense;gap:16px}
.tpd-site .tpd-gallery.tpd-collage .tpd-g-item{aspect-ratio:auto;min-height:0}
.tpd-site .tpd-collage .tpd-g-item:nth-child(13n+1){grid-column:span 2;grid-row:span 2}
.tpd-site .tpd-collage .tpd-g-item:nth-child(13n+2),.tpd-site .tpd-collage .tpd-g-item:nth-child(13n+7){grid-row:span 2}
.tpd-site .tpd-collage .tpd-g-item span{font-size:22px}
.tpd-site .tpd-collage .tpd-g-item:focus-visible{outline-offset:3px}
.tpd-site .tpd-landing-hero{min-height:620px;display:flex;align-items:center;position:relative}
.tpd-site .tpd-landing-hero .tpd-container{position:relative;z-index:2;padding-top:70px;padding-bottom:80px}
.tpd-site .tpd-landing-hero-copy{max-width:760px}
.tpd-site .tpd-landing-hero-copy h1{font-size:clamp(40px,4.8vw,68px)}
.tpd-site .tpd-landing-hero-copy h1 em{display:block;font-size:.75em;margin-top:16px;color:#b5ef9f}
.tpd-site .tpd-landing-hero-copy p{font-size:18px;max-width:660px;margin-top:22px;color:#fff}
.tpd-site .tpd-landing-hero .tpd-hero-shade{background:linear-gradient(90deg,rgba(13,25,19,.94),rgba(13,25,19,.65) 55%,rgba(13,25,19,.2))}
.tpd-site .tpd-breadcrumb{display:block;margin-bottom:20px;color:#fff;text-decoration:underline;font-size:14px}
.tpd-site .tpd-landing-photo{border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.tpd-site .tpd-landing-photo img{width:100%;max-height:630px;object-fit:cover}
.tpd-site .tpd-landing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tpd-site .tpd-landing-cards article{padding:32px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.tpd-site .tpd-landing-cards h3{margin:10px 0 16px;font-size:29px}
.tpd-site .tpd-landing-cards p{color:var(--muted);line-height:1.8}
.tpd-site .tpd-form-status{margin-top:12px;font-size:14px;line-height:1.6}
.tpd-site .tpd-form-status[data-state=error]{color:#b42318}
.tpd-site .tpd-form-status[data-state=success]{color:#12642c}
.tpd-site .tpd-form-card .tpd-form-status{color:var(--ink)}
.tpd-site .tpd-form-card button:disabled{opacity:.65;cursor:wait}
.tpd-site .tpd-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.tpd-site .tpd-recaptcha{margin-top:16px;max-width:100%;overflow-x:auto}
@media(max-width:900px){.tpd-site .tpd-gallery.tpd-collage{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px}.tpd-site .tpd-collage .tpd-g-item:nth-child(13n+1){grid-row:span 1}.tpd-site .tpd-landing-cards{grid-template-columns:1fr}.tpd-site .tpd-landing-hero{min-height:550px}}
@media(max-width:540px){.tpd-site .tpd-gallery.tpd-collage{gap:10px;grid-auto-rows:155px}.tpd-site .tpd-collage .tpd-g-item span{left:12px;bottom:12px;font-size:18px}.tpd-site .tpd-collage .tpd-g-item span small{font-size:11px}.tpd-site .tpd-landing-hero .tpd-container{padding:50px 0 65px}.tpd-site .tpd-landing-cards article{padding:26px}.tpd-site .tpd-landing-hero-copy p{font-size:16px}}

/* Real Raleigh photographs with layered gradients for readable content. */
.tpd-site .tpd-section.tpd-dark{background-image:linear-gradient(100deg,rgba(9,22,18,.94),rgba(9,22,18,.77)),url('assets/raleigh-skyline.webp');background-position:center;background-size:cover}
.tpd-site .tpd-cta{background-image:linear-gradient(95deg,rgba(9,31,18,.95),rgba(8,23,20,.74)),url('assets/raleigh-panorama.webp');background-position:center;background-size:cover}
.tpd-site .tpd-area-card{background-image:linear-gradient(160deg,rgba(8,25,17,.86),rgba(4,15,15,.82)),url('assets/raleigh-skyline.webp');background-position:center;background-size:cover}
.tpd-site footer{background-image:linear-gradient(100deg,rgba(12,22,20,.96),rgba(12,22,20,.91)),url('assets/raleigh-panorama.webp');background-position:center;background-size:cover}
.tpd-site .tpd-photo-credit{font-size:11px;line-height:1.6;color:#c0c8c5;padding:16px 0;border-top:1px solid #ffffff24}
.tpd-site .tpd-photo-credit a{text-decoration:underline}

.tpd-site .tpd-landing-hero .tpd-hero-image{object-position:center 88%}
.tpd-site .tpd-feature-grid>article+article{margin-top:0}
.tpd-site .tpd-section.tpd-dark em{color:#b5ef9f}
@media(min-width:1161px){.tpd-site .tpd-nav-link,.tpd-site .tpd-nav-cta{white-space:nowrap}.tpd-site .tpd-nav-link{padding-left:10px;padding-right:10px}.tpd-site .tpd-nav-wrap{gap:16px}.tpd-site .tpd-header .tpd-nav-cta{padding-left:18px;padding-right:18px;font-size:14px}}
