/*
Theme Name: Tampa Bay Photography
Description: Editorial photography design with native editable Elementor pages. Astra child theme.
Author: Tampa Photography LLC
Template: astra
Version: 1.1.0
Text Domain: tampa-photography
*/
:root{--tbp-ink:#11120f;--tbp-paper:#eee9e0;--tbp-sand:#c5b394;--tbp-muted:#aba79f;--tbp-line:#383a32}
html{scroll-behavior:smooth;scroll-padding-top:25px}body{background:var(--tbp-ink)}
.tbp-site{--container-widget-width:100%;--container-widget-flex-grow:0;background:var(--tbp-ink);color:var(--tbp-paper);font-family:Arial,sans-serif;overflow:hidden;gap:0;max-width:none;width:100%}
.tbp-site p:last-child{margin-bottom:0}.tbp-site a{text-decoration:none}.tbp-site a:focus-visible{outline:2px solid var(--tbp-sand);outline-offset:6px}.tbp-site .elementor-widget{margin-bottom:0}.tbp-site .elementor-heading-title em{font-family:Georgia,serif;font-weight:400;color:var(--tbp-sand);letter-spacing:-.06em}.tbp-site .elementor-widget-text-editor p{margin-top:0}
.tbp-site .tbp-main{gap:0;width:100%}.tbp-site .tbp-header{padding:20px 5%;width:100%;min-height:105px;flex-direction:row;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--tbp-line);z-index:5}
.tbp-site .tbp-logo{width:150px;flex-shrink:0;height:65px;overflow:hidden}.tbp-logo img{width:150px;height:150px;max-width:none;transform:translateY(-42px);filter:invert(1);mix-blend-mode:screen}.tbp-logo .elementor-widget-container{height:65px}
.tbp-site .tbp-nav{width:auto;margin-left:auto}.tbp-nav nav{display:flex;align-items:center;gap:30px}.tbp-nav a,.tbp-language a,.tbp-footer-nav a{font-size:13px;color:var(--tbp-paper);transition:color .2s}.tbp-nav a:hover,.tbp-nav a[aria-current],.tbp-footer-nav a:hover{color:var(--tbp-sand)}.tbp-site .tbp-nav-actions{width:auto;flex-direction:row;align-items:center;gap:25px}.tbp-site .tbp-language{width:auto}.tbp-site .tbp-nav-actions .tbp-button{width:auto}.tbp-site .tbp-button .elementor-button{transition:background .2s,transform .2s;line-height:1.3}.tbp-button .elementor-button:hover{transform:translateY(-2px);background:#e1d0b0}.tbp-ghost .elementor-button{border:1px solid #56584e}.tbp-ghost .elementor-button:hover{background:#30332b;color:#fff}
.tbp-site .tbp-section{width:100%;padding:110px 5%;gap:0}.tbp-site .tbp-inner{max-width:1320px;width:100%;margin:auto;gap:35px}.tbp-site .tbp-eyebrow p{font-size:11px;letter-spacing:.2em;line-height:1.5;text-transform:uppercase}.tbp-site .tbp-home-hero{width:100%;max-width:1600px;margin:auto;min-height:790px;padding:65px 5% 75px;gap:40px;flex-direction:row;align-items:center;position:relative}.tbp-site .tbp-hero-copy{width:57%;gap:28px;z-index:2}.tbp-site .tbp-home-title{margin-bottom:2px}.tbp-site .tbp-hero-line p{font-size:24px;line-height:1.3;letter-spacing:-.02em}.tbp-site .tbp-hero-description{max-width:460px}.tbp-site .tbp-buttons{flex-direction:row;gap:15px;flex-wrap:wrap;width:auto}.tbp-buttons>.elementor-widget{width:auto}
.tbp-site .tbp-hero-art{width:43%;position:relative;padding:22px 24px 0 0;gap:0;transform:rotate(3deg)}.tbp-hero-art:before{content:"";position:absolute;inset:0 0 30px 22px;border:1px solid #706551;transform:rotate(-6deg)}.tbp-site .tbp-hero-image{position:relative;z-index:1;width:100%}.tbp-hero-image img{width:100%;height:560px;object-fit:cover;object-position:center}.tbp-site .tbp-image-caption{position:absolute;bottom:35px;left:30px;z-index:2;width:calc(100% - 70px);padding:20px 25px;background:rgba(15,17,14,.85);gap:8px}.tbp-frame-caption p{font-family:Georgia,serif;font-size:27px;font-style:italic;line-height:1.2}.tbp-site .tbp-vertical-note{position:absolute;right:-14px;top:70px;writing-mode:vertical-rl;width:auto}.tbp-vertical-note p{font-size:9px;letter-spacing:.18em}
.tbp-site .tbp-cream{background:var(--tbp-paper);color:var(--tbp-ink)}.tbp-cream .elementor-heading-title{color:var(--tbp-ink)}.tbp-cream .elementor-widget-text-editor{color:#5c6056}.tbp-cream .elementor-heading-title em{color:#6d735f}.tbp-cream .tbp-eyebrow{color:#5d624f}.tbp-site .tbp-intro{max-width:900px;gap:35px}.tbp-intro .elementor-widget-text-editor:last-child{max-width:650px}.tbp-site .tbp-section-heading{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:40px}.tbp-section-heading>.elementor-widget{width:50%}.tbp-section-heading>.elementor-widget-text-editor{max-width:360px}.tbp-site .tbp-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;width:100%}.tbp-site .tbp-gallery-card{gap:8px;width:100%}.tbp-gallery-card:nth-child(3n+2){padding-top:55px}.tbp-gallery-image img{width:100%;height:420px;object-fit:cover}.tbp-gallery-image figcaption{color:var(--tbp-paper);font:normal 22px Georgia,serif;text-align:left;margin-top:18px}.tbp-small p{font-size:12px;line-height:1.6;letter-spacing:.01em}.tbp-gallery-nav a{color:var(--tbp-sand);display:inline-block;margin:0 5px 8px}
.tbp-site .tbp-three,.tbp-site .tbp-two,.tbp-site .tbp-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;width:100%}.tbp-site .tbp-two,.tbp-site .tbp-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:70px}.tbp-site .tbp-three>.e-con,.tbp-site .tbp-two>.e-con,.tbp-site .tbp-split>.e-con{width:100%}.tbp-site .tbp-service-card{padding:35px 30px 30px;border:1px solid var(--tbp-line);gap:22px;width:100%;transition:border-color .2s,background .2s}.tbp-service-card:hover{background:#191b16;border-color:#81745e}.tbp-service-card .elementor-widget-heading{min-height:76px}.tbp-service-card .tbp-button{margin-top:auto}.tbp-site .tbp-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%}.tbp-site .tbp-step{width:100%;border-top:1px solid #626455;padding-top:30px;gap:20px}.tbp-site .tbp-process{background:#1e221b}.tbp-site .tbp-area-feature{border-top:1px solid var(--tbp-line);border-bottom:1px solid var(--tbp-line);background:radial-gradient(ellipse at 85% 40%,#353a2d 0,transparent 50%)}.tbp-area-feature .elementor-widget-text-editor{max-width:650px}.tbp-site .tbp-cta{background:#c5b394}.tbp-cta .elementor-heading-title{color:#1a1b16}.tbp-cta .elementor-heading-title em{color:#4b503f}.tbp-cta .elementor-widget-text-editor{color:#373c30}.tbp-cta .tbp-button .elementor-button{background:#191c15;color:#eee9e0}.tbp-site .tbp-cta-copy{align-self:center;max-width:400px;gap:25px}.tbp-site .tbp-cta .tbp-split{grid-template-columns:1.5fr 1fr}.tbp-site .tbp-footer{padding:55px 5% 35px;gap:32px;width:100%;background:#0c0e0b}.tbp-site .tbp-footer-top{flex-direction:row;align-items:center;gap:45px;width:100%}.tbp-footer-top>.elementor-widget-text-editor:last-child{margin-left:auto;width:auto;max-width:400px}.tbp-site .tbp-footer-brand{width:auto}.tbp-footer-nav nav{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid var(--tbp-line);padding-top:30px}.tbp-site .tbp-footer .tbp-small{color:#888c81}
.tbp-site .tbp-page-hero{padding-top:85px;padding-bottom:75px;border-bottom:1px solid var(--tbp-line)}.tbp-page-hero .tbp-lead{max-width:700px}.tbp-site .tbp-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;width:100%}.tbp-site .tbp-location-card{padding:40px;background:#1b1e17;width:100%;gap:25px}.tbp-about-image img{width:100%;height:680px;object-fit:cover}.tbp-site .tbp-about-copy{justify-content:center;gap:30px}.tbp-site .tbp-owner-slot{border-left:2px solid #a99674;padding-left:16px;font-style:italic}.tbp-owner-slot p{font-size:14px}.tbp-site .tbp-contact-line{padding:24px 0;border-top:1px solid var(--tbp-line);gap:14px}.tbp-site .tbp-contact-details{gap:30px}.tbp-site .tbp-contact-plan{gap:30px}.tbp-contact-image img{height:330px;width:100%;object-fit:cover}.tbp-site ul{padding-left:20px;margin-left:0}.tbp-site li{margin-bottom:9px}.tbp-site .tbp-policy .tbp-inner{max-width:850px}.tbp-site .tbp-policy-section{padding:30px 0;border-bottom:1px solid var(--tbp-line);gap:18px}.tbp-site .tbp-section :target{scroll-margin-top:40px}
.tbp-skip{position:absolute;top:-100px;left:10px;background:#eee9e0;color:#111;padding:15px;z-index:99999}.tbp-skip:focus{top:10px}
@media(min-width:1025px){.tbp-home-title .elementor-heading-title{font-size:clamp(85px,8.2vw,130px)}}
@media(max-width:1100px){.tbp-site .tbp-header{gap:20px;padding-inline:4%}.tbp-nav nav{gap:20px}.tbp-site .tbp-nav-actions{gap:18px}.tbp-site .tbp-section{padding:80px 5%}.tbp-site .tbp-home-hero{min-height:680px}.tbp-hero-image img{height:480px}.tbp-site .tbp-two,.tbp-site .tbp-split{gap:35px}.tbp-site .tbp-service-card{padding:25px 20px}.tbp-gallery-image img{height:340px}.tbp-about-image img{height:550px}}
@media(max-width:767px){.tbp-site .tbp-header{flex-wrap:wrap;gap:12px;padding:12px 6% 18px;min-height:unset}.tbp-site .tbp-logo{width:120px;height:56px}.tbp-logo img{width:120px;height:120px;transform:translateY(-32px)}.tbp-site .tbp-nav{order:3;width:100%;margin:0}.tbp-nav nav{justify-content:space-between;gap:10px;flex-wrap:wrap}.tbp-nav a{font-size:12px}.tbp-site .tbp-nav-actions{margin-left:auto;gap:18px}.tbp-nav-actions .elementor-button{font-size:12px;padding:12px 14px}.tbp-site .tbp-home-hero{flex-direction:column;padding:45px 6% 65px;gap:45px;min-height:unset}.tbp-site .tbp-hero-copy{width:100%;gap:25px}.tbp-home-title .elementor-heading-title{font-size:64px;line-height:1.02}.tbp-hero-line p{font-size:21px}.tbp-site .tbp-hero-art{width:92%;align-self:center;padding-right:15px}.tbp-hero-image img{height:430px}.tbp-site .tbp-image-caption{left:20px;width:calc(100% - 50px);bottom:25px;padding:16px 20px}.tbp-site .tbp-section{padding:65px 6%}.tbp-site .tbp-inner{gap:27px}.tbp-site .tbp-section-heading{flex-direction:column;align-items:flex-start;gap:20px}.tbp-section-heading>.elementor-widget{width:100%}.tbp-site .tbp-three,.tbp-site .tbp-two,.tbp-site .tbp-split,.tbp-site .tbp-service-grid,.tbp-site .tbp-location-grid,.tbp-site .tbp-cta .tbp-split{grid-template-columns:1fr;gap:25px}.tbp-site .tbp-gallery-grid{grid-template-columns:1fr;gap:30px}.tbp-gallery-card:nth-child(3n+2){padding-top:0}.tbp-gallery-image img{height:440px}.tbp-service-card .elementor-widget-heading{min-height:0}.tbp-site .tbp-footer{padding:45px 6% 25px}.tbp-site .tbp-footer-top{flex-wrap:wrap;gap:20px}.tbp-footer-top>.elementor-widget-text-editor:last-child{margin:0;width:100%}.tbp-footer-nav nav{gap:15px 22px}.tbp-about-image img{height:430px}.tbp-site .tbp-page-hero{padding-top:55px}.tbp-page-hero .elementor-heading-title{font-size:48px}.tbp-site .tbp-location-card{padding:30px 25px}.tbp-site .tbp-cta-copy{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tbp-site *{transition:none!important;animation:none!important}}

/* Final responsive refinements; widgets remain native and editable. */
.tbp-site.e-con,.tbp-site .e-con{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px}
.tbp-site .tbp-logo{height:82px;filter:invert(1);mix-blend-mode:screen}
.tbp-logo img{transform:translateY(-43px);filter:none;mix-blend-mode:normal}
.tbp-site .tbp-hero-line.elementor-widget-text-editor{font-size:24px;line-height:1.35;letter-spacing:-.02em}
.tbp-site .tbp-frame-caption.elementor-widget-text-editor{font:italic 27px/1.2 Georgia,serif}
.tbp-site .elementor-button img.emoji{filter:grayscale(1);mix-blend-mode:luminosity;width:.8em!important;height:.8em!important}
@media(min-width:1025px){.tbp-site .tbp-home-title .elementor-heading-title{font-size:clamp(76px,8vw,128px)}}
@media(max-width:767px){.tbp-site .tbp-logo{height:68px}.tbp-logo img{transform:translateY(-34px)}.tbp-site .tbp-home-title .elementor-heading-title{font-size:clamp(42px,14.2vw,64px);line-height:1.04}.tbp-site .tbp-hero-line.elementor-widget-text-editor{font-size:21px}}

/* Keep the hero inside narrow screens. */
@media (max-width:767px){.elementor .tbp-site .tbp-home-title.elementor-widget-heading .elementor-heading-title{font-size:clamp(42px,14.2vw,64px);line-height:1.04}.elementor .tbp-site .tbp-hero-line.elementor-widget-text-editor{font-size:21px}}

/* Fluid heading on tablet and desktop. */
@media(min-width:768px){.elementor .tbp-site .tbp-home-title.elementor-widget-heading .elementor-heading-title{font-size:clamp(60px,8vw,128px)}}
