:root{
  --primary-blue:#052c60!important;
  --primary-blue-dark:#0879c9!important;
  --accent-blue:#0879c9!important;
  --accent-orange:#ff8a00!important;
  --accent-yellow:#ffc21a!important;
  --text-dark:#172033!important;
  --text-light:#667085!important;
  --border-light:#dfe7f1!important;
  --background-light:#f3f6fa!important;
  --content-width:1120px!important;
  --shadow-light:0 4px 14px rgba(5,44,96,.07)!important;
  --shadow-medium:0 10px 28px rgba(5,44,96,.11)!important;
  --shadow-heavy:0 22px 54px rgba(5,44,96,.17)!important
}
body{background:#f3f6fa!important;color:#172033!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
.header{background:#052c60!important;min-height:74px!important;box-shadow:0 8px 26px rgba(3,31,68,.18)!important}
.header-container{max-width:1240px!important;min-height:74px!important;padding:0 24px!important}
.logo{font-size:25px!important;font-weight:900!important;gap:12px!important}.logo i{font-size:24px!important;color:#ffc21a!important}
.header-nav{gap:28px!important}.header-nav a{font-size:14px!important;font-weight:750!important}.header-nav .register-btn{background:#ff8a00!important;color:#fff!important;border-radius:999px!important;padding:12px 22px!important}
.hero{min-height:535px!important;display:flex!important;align-items:center!important;position:relative!important;background:#031a39!important;overflow:hidden!important}
.hero::after{content:""!important;position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(90deg,rgba(3,26,57,.97),rgba(3,26,57,.64) 58%,rgba(3,26,57,.32))!important;pointer-events:none!important}
.hero-slides{position:absolute!important;inset:0!important}.hero-slide{filter:saturate(.85) contrast(1.05)!important}
.hero-container{width:min(1180px,calc(100% - 48px))!important;max-width:none!important;margin:0 auto!important;padding:0 0 62px!important;position:relative!important;z-index:3!important;text-align:left!important}
.hero-container::before{content:"GLOBAL BROADCASTING BOOKING";display:block;color:#ff8a00;letter-spacing:.17em;font-size:12px;font-weight:900;margin-bottom:16px}
.hero-container h1{max-width:750px!important;color:#fff!important;font-size:clamp(44px,6vw,74px)!important;font-weight:400!important;line-height:.99!important;letter-spacing:-2.5px!important;margin:0 0 20px!important;text-shadow:none!important}
.hero-container p{max-width:730px!important;color:#e9f4ff!important;font-size:clamp(17px,2vw,21px)!important;line-height:1.65!important;margin:0!important}
.ad-header{position:absolute!important;top:0!important;left:0!important;right:0!important;z-index:4!important;background:#fff!important;border-bottom:1px solid #dfe7f1!important;min-height:78px!important;padding:8px 24px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.ad-header::before{content:"PREMIUM SPONSOR";color:#9c5b00;letter-spacing:.14em;white-space:nowrap;font-size:9px;font-weight:900;margin-right:18px}
.ad-header img{object-fit:contain!important;border-radius:7px!important;width:min(728px,58vw)!important;height:60px!important;margin:0!important}
.search-section{z-index:6!important;position:relative!important;width:min(1120px,calc(100% - 32px))!important;max-width:none!important;margin:-86px auto 42px!important;padding:30px!important;background:#fff!important;border:1px solid #dfe7f1!important;border-top:5px solid #ff8a00!important;border-radius:18px!important;box-shadow:0 26px 64px rgba(5,44,96,.17)!important}
.search-section::before{content:"Find broadcast services";display:block;color:#052c60;font-size:28px;font-weight:850;margin:0 0 22px}
.search-filters{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.filter-label{color:#344054!important;font-size:14px!important;font-weight:800!important;margin-bottom:8px!important}
.select2-container .select2-selection--single,.filter-select{min-height:58px!important;border:1px solid #cbd7e5!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
.select2-container .select2-selection--single:focus,.filter-select:focus{border-color:#0879c9!important;box-shadow:0 0 0 4px rgba(8,121,201,.12)!important;outline:0!important}
.providers-grid{width:min(1120px,calc(100% - 32px))!important;max-width:none!important;margin:0 auto 38px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:22px!important}
.provider-card{border:1px solid #dfe7f1!important;background:#fff!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 10px 30px rgba(5,44,96,.08)!important;transition:.2s ease!important}
.provider-card:hover{transform:translateY(-5px)!important;box-shadow:0 20px 42px rgba(5,44,96,.14)!important}
.provider-logo-container{background:linear-gradient(145deg,#eff6fd,#fff)!important}.provider-name,.provider-title{color:#052c60!important}
.results-heading{width:min(1120px,calc(100% - 32px))!important;margin:0 auto 20px!important;display:flex!important;align-items:end!important;justify-content:space-between!important;gap:20px!important}
.results-heading h2{color:#052c60!important;font-size:28px!important;margin:8px 0 0!important}.results-verification{color:#0879c9!important;font-weight:800!important;font-size:13px!important}
.book-now-btn,.book-service-btn,.multi-service-btn{background:linear-gradient(135deg,#ff8a00,#ffc21a)!important;color:#172033!important;border:0!important;border-radius:11px!important;font-weight:900!important}
.ad-left,.ad-right{width:210px!important;top:170px!important;background:rgba(255,255,255,.97)!important;border:1px solid #d5e0ec!important;border-radius:14px!important;padding:12px!important;box-shadow:0 18px 38px rgba(5,44,96,.16)!important}
.ad-left::before,.ad-right::before{content:"FEATURED";display:block;text-align:center;color:#667085;letter-spacing:.14em;font-size:9px;font-weight:900;margin-bottom:9px}
.ad-left img,.ad-right img{width:100%!important;aspect-ratio:2!important;object-fit:cover!important;border-radius:9px!important;margin:0 0 11px!important}
.ad-left img:nth-of-type(n+3),.ad-right img:nth-of-type(n+3){display:none!important}
.provider-detail{border:1px solid #dfe7f1!important;border-top:5px solid #ff8a00!important;border-radius:18px!important;background:#fff!important;box-shadow:0 18px 48px rgba(5,44,96,.12)!important}
.chatbot-container{border:1px solid #dfe7f1!important;border-radius:18px!important;box-shadow:0 22px 54px rgba(5,44,96,.20)!important}.chatbot-header{background:#052c60!important}
@media(min-width:1580px){.ad-left,.ad-right{display:block!important}}
@media(max-width:1579px){.ad-left,.ad-right{display:none!important}}
@media(max-width:850px){.providers-grid{grid-template-columns:1fr 1fr!important}.hero-container{padding-top:70px!important}.search-filters{grid-template-columns:1fr!important}}
@media(max-width:620px){.header{min-height:66px!important}.header-container{min-height:66px!important;padding:0 16px!important}.logo{font-size:20px!important}.ad-header{display:none!important}.hero{min-height:550px!important}.hero-container{width:calc(100% - 34px)!important;padding:40px 0 90px!important}.hero-container h1{font-size:45px!important}.search-section{padding:20px!important}.providers-grid{grid-template-columns:1fr!important}.chatbot-trigger{width:70px!important;height:70px!important;left:14px!important;bottom:14px!important}}

/* Authentication and role selection */
.auth-container{min-height:calc(100vh - 74px)!important;background:radial-gradient(circle at 70% 18%,rgba(13,115,186,.20),transparent 27%),linear-gradient(135deg,#041f45,#073e7b)!important;padding:46px 20px!important}
.auth-card{width:min(480px,100%)!important;background:#fff!important;border:1px solid #dfe7f1!important;border-top:5px solid #ff8a00!important;border-radius:18px!important;padding:38px!important;box-shadow:0 30px 80px rgba(0,25,52,.44)!important}
.auth-title{color:#052c60!important;font-size:34px!important}.form-group{margin-bottom:17px!important}.form-label{color:#344054!important;font-size:13px!important;font-weight:800!important}
.form-control,.form-input{min-height:48px!important;border:1px solid #cbd7e5!important;border-radius:10px!important;background:#fff!important;color:#172033!important;box-shadow:none!important}
.form-control:focus,.form-input:focus{border-color:#0879c9!important;outline:0!important;box-shadow:0 0 0 4px rgba(8,121,201,.12)!important}
.auth-card .btn{width:100%!important;background:linear-gradient(135deg,#ff8a00,#ffc21a)!important;color:#172033!important;border:0!important;border-radius:11px!important;min-height:50px!important;font-weight:900!important}
.registration-split{width:min(1120px,calc(100% - 32px))!important;max-width:none!important;gap:24px!important;margin:54px auto 80px!important}
.registration-card{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:18px!important;padding:32px!important;box-shadow:0 12px 35px rgba(5,44,96,.08)!important}
.registration-card.provider{border-top:5px solid #ff8a00!important}.card-title{color:#052c60!important}.card-subtitle{color:#667085!important;line-height:1.65!important}

/* Provider application */
.registration-container{width:min(1120px,calc(100% - 32px))!important;max-width:none!important;margin:44px auto 80px!important}
.registration-header,.wizard-container,.form-section,.summary-card{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(5,44,96,.07)!important}
.registration-header{border-top:5px solid #ff8a00!important;padding:30px!important}.registration-title,.section-title{color:#052c60!important}.registration-subtitle{color:#667085!important}
.wizard-progress{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:14px!important;padding:20px!important}
.progress-step .step-number{background:#edf4fb!important;color:#052c60!important}.progress-step.active .step-number{background:#ff8a00!important;color:#172033!important}
.form-section{padding:28px!important;margin-bottom:22px!important}.form-grid{gap:18px!important}
.services-table{border:1px solid #dfe7f1!important;border-radius:14px!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;box-shadow:0 8px 25px rgba(5,44,96,.07)!important}
.services-table th{background:#edf4fb!important;color:#38516d!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-size:11px!important}
.services-table th,.services-table td{padding:13px 14px!important;border-color:#e5edf5!important}.services-table tbody tr:hover{background:#f4f9ff!important}
.country-select+.select2-container .select2-selection{min-height:58px!important;border:1px solid #cbd7e5!important;border-radius:10px!important}
.action-buttons{gap:12px!important}.btn-primary,.btn-submit{background:linear-gradient(135deg,#ff8a00,#ffc21a)!important;color:#172033!important;border:0!important}.btn-secondary{background:#fff!important;color:#052c60!important;border:1px solid #b9c9dc!important}

/* Client and provider portals */
.welcome-banner{background:linear-gradient(125deg,#052c60,#0879c9)!important;border:0!important;border-radius:18px!important;padding:26px!important;box-shadow:0 20px 44px rgba(5,44,96,.20)!important}.welcome-title{color:#fff!important}.welcome-subtitle{color:#dcefff!important}.welcome-pill{background:rgba(255,255,255,.14)!important;color:#ffc21a!important}.clock-time,.clock-date,.clock-label,.clock-display{color:#dcefff!important}
.action-cards-container{gap:16px!important}.action-card{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(5,44,96,.07)!important}.action-card:hover{transform:translateY(-3px)!important;box-shadow:0 16px 38px rgba(5,44,96,.11)!important}.action-card-icon{background:#edf7ff!important;color:#0879c9!important;border-radius:12px!important}
.filter-row,.card-filter-message{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(5,44,96,.06)!important}
.filter-input,.country-dd-btn,.service-dd-btn{min-height:44px!important;border:1px solid #cbd7e5!important;border-radius:9px!important;background:#fff!important}
.main-content table{width:100%!important;border:1px solid #dfe7f1!important;border-radius:14px!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;background:#fff!important;box-shadow:0 8px 25px rgba(5,44,96,.07)!important}
.main-content table th{background:#edf4fb!important;color:#38516d!important;font-size:11px!important;letter-spacing:.04em!important;text-transform:uppercase!important}.main-content table th,.main-content table td{padding:13px 14px!important;border-color:#e5edf5!important}
.status-badge,.status-badge-sub{border-radius:999px!important;font-weight:800!important}.action-cell .btn,.action-cell button{border-radius:8px!important;min-height:38px!important}

/* Service-specific booking/application forms */
.form-container{width:min(1120px,calc(100% - 32px))!important;max-width:none!important;background:#fff!important;border:1px solid #dfe7f1!important;border-top:5px solid #ff8a00!important;border-radius:18px!important;padding:30px!important;box-shadow:0 18px 48px rgba(5,44,96,.12)!important}
.form-container h1,.form-container h2{color:#052c60!important}.event-location-group,.date-time-group,.guest-info-grid,.technical-group,.mode-box{background:#f8fbff!important;border:1px solid #dfe7f1!important;border-radius:14px!important;padding:18px!important}
.technical-table,.summary-table{border:1px solid #dfe7f1!important;border-radius:12px!important;overflow:hidden!important}.technical-table th,.summary-table th{background:#edf4fb!important;color:#38516d!important}
.summary-container{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(5,44,96,.07)!important}
.submit-btn,.confirm-btn{background:linear-gradient(135deg,#ff8a00,#ffc21a)!important;color:#172033!important;border:0!important;border-radius:11px!important;font-weight:900!important}
@media(max-width:850px){.registration-split{grid-template-columns:1fr!important}.registration-container,.form-container{width:calc(100% - 28px)!important}.action-cards-row{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.auth-card{padding:26px 20px!important}.registration-split{margin-top:28px!important}.form-section,.registration-header,.form-container{padding:20px!important}.action-cards-row{grid-template-columns:1fr!important}}

/* Exact public-page theme alignment */
.eyebrow,.section-kicker,.verified-kicker{color:#ff9a00!important;font-size:11px!important;font-weight:900!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.registration-page{max-width:none!important;margin:0!important;padding:0 0 70px!important;min-height:calc(100vh - 74px)!important;background:linear-gradient(130deg,#052c60 0 365px,#075ba7 365px,#f3f6fa 365px)!important}
.registration-intro{height:365px!important;padding:78px 24px 0!important;text-align:center!important;color:#fff!important}
.registration-intro h1{font-size:clamp(42px,5vw,62px)!important;font-weight:400!important;letter-spacing:-2px!important;margin:16px 0 14px!important}
.registration-intro p{max-width:720px!important;margin:auto!important;color:#d9edff!important;font-size:17px!important;line-height:1.7!important}
.registration-page .registration-split{position:relative!important;width:min(1040px,calc(100% - 32px))!important;margin:-70px auto 0!important;gap:24px!important}
.registration-page .registration-card{border-radius:20px!important;padding:0!important;min-height:520px!important;overflow:hidden!important}
.registration-page .registration-card.client{border-top:5px solid #ff8a00!important}
.registration-page .registration-card.provider{border-top:5px solid #0879c9!important}
.registration-page .registration-card.freelancer{border-top:5px solid #16a34a!important}
.registration-page .card-header,.registration-page .provider .card-header,.registration-page .client .card-header{padding:34px!important;text-align:left!important;display:flex!important;align-items:stretch!important;justify-content:flex-start!important;gap:13px!important;background:#fff!important}
.registration-page .role-icon{width:58px!important;height:58px!important;border-radius:14px!important;background:#edf7ff!important;color:#0879c9!important;display:grid!important;place-items:center!important;font-size:23px!important;margin-bottom:9px!important}
.registration-page .header-badge{position:static!important;background:none!important;border:0!important;padding:0!important;color:#d77a00!important;border-radius:0!important;font-size:10px!important;letter-spacing:.13em!important}
.registration-page .card-title{font-size:29px!important;font-weight:500!important;color:#052c60!important;text-shadow:none!important;letter-spacing:-.5px!important}
.registration-page .card-subtitle{font-size:16px!important;font-weight:400!important;color:#667085!important;text-shadow:none!important;margin:0!important;max-width:none!important;min-height:72px!important}
.role-benefits{list-style:none!important;padding:3px 0 8px!important;margin:0!important;color:#5b6472!important;display:grid!important;gap:12px!important}
.role-benefits li::before{content:"✓";color:#0879c9;font-weight:900;margin-right:12px}
.registration-page .register-btn{width:100%!important;max-width:none!important;margin-top:auto!important;min-height:52px!important;padding:15px 18px!important;border-radius:11px!important;text-transform:none!important;letter-spacing:0!important;font-size:15px!important}
.registration-page .client .register-btn{background:linear-gradient(135deg,#ff8a00,#ffc21a)!important}
.registration-page .provider .register-btn{background:linear-gradient(135deg,#052c60,#0879c9)!important;color:#fff!important}

.login-page.auth-container{max-width:none!important;width:100%!important;min-height:calc(100vh - 74px)!important;margin:0!important;padding:72px max(7vw,24px)!important;display:grid!important;grid-template-columns:minmax(420px,590px) 430px!important;justify-content:space-between!important;gap:8vw!important;align-items:center!important;background:linear-gradient(135deg,#062e62 0 46%,#f3f7fb 46%)!important}
.login-message{color:#fff!important;max-width:600px!important}
.login-message h1{font-size:clamp(50px,5.1vw,70px)!important;font-weight:350!important;line-height:1.03!important;letter-spacing:-2px!important;margin:18px 0 24px!important}
.login-message p{max-width:540px!important;color:#dceafa!important;font-size:16px!important;line-height:1.75!important}
.login-message ul{list-style:none!important;padding:18px 0 0!important;display:grid!important;gap:12px!important;color:#e9f4ff!important}
.login-message li::before{content:"✓";margin-right:9px}
.login-card{width:100%!important;border:1px solid #dfe7f1!important;border-radius:20px!important;padding:34px!important;box-shadow:0 24px 60px rgba(0,25,58,.20)!important}
.login-card>.eyebrow{text-align:center!important;color:#667085!important}
.login-card .auth-title{text-align:left!important;font-size:29px!important;font-weight:500!important;margin:15px 0 25px!important}
.login-card .form-control{min-height:50px!important}
.login-card .btn{min-height:52px!important;background:linear-gradient(135deg,#ff8a00,#ffc21a)!important;color:#172033!important}

.provider-detail-container{max-width:none!important;margin:0!important;padding:0 0 70px!important}
.provider-detail-container>.ad-header,.provider-detail-container>.ad-mobile-hero{display:none!important}
.provider-profile-hero{min-height:279px!important;background:linear-gradient(135deg,#052d62,#0878be)!important;color:#fff!important;padding:42px max(6.23vw,24px) 46px!important}
.provider-profile-hero .provider-header{max-width:1180px!important;margin:auto!important;display:grid!important;grid-template-columns:110px 1fr auto!important;align-items:center!important;gap:26px!important}
.provider-profile-hero .provider-logo-container{width:110px!important;height:110px!important;border:10px solid #fff!important;border-radius:20px!important;background:#052c60!important;display:grid!important;place-items:center!important}
.provider-profile-hero .provider-logo-large{width:100%!important;height:100%!important;object-fit:contain!important}
.provider-profile-hero .provider-info{display:block!important}
.provider-profile-hero .provider-title{color:#fff!important;font-size:clamp(38px,4.1vw,54px)!important;font-weight:400!important;line-height:1.5!important;letter-spacing:-1.7px!important;margin:0!important}
.provider-location{color:#d9edff!important;font-size:16px!important}.provider-location i{font-size:7px!important;margin-right:6px!important}
.provider-hero-cta{background:linear-gradient(135deg,#ff8a00,#ffc21a)!important;color:#172033!important;border:0!important;border-radius:11px!important;padding:17px 24px!important;font-weight:900!important;font-size:15px!important;cursor:pointer!important}
.provider-trust-strip{position:relative!important;z-index:2!important;width:min(1080px,calc(100% - 32px))!important;min-height:96px!important;margin:-24px auto 32px!important;background:#fff!important;border:1px solid #dfe7f1!important;border-radius:15px!important;box-shadow:0 15px 38px rgba(5,44,96,.12)!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important}
.provider-trust-strip>div{text-align:center!important;padding:20px 12px!important;border-right:1px solid #e5edf5!important}.provider-trust-strip>div:last-child{border-right:0!important}
.provider-trust-strip strong{display:block!important;color:#052c60!important;font-size:22px!important}.provider-trust-strip span{display:block!important;color:#667085!important;font-size:11px!important;margin-top:5px!important}
.provider-detail-container .provider-detail{width:min(1180px,calc(100% - 32px))!important;margin:auto!important;border-top:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.provider-detail-container .provider-description-section,.provider-detail-container .services-section,.provider-detail-container .contact-section,.provider-detail-container .image-gallery{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:17px!important;padding:27px!important;box-shadow:0 10px 30px rgba(5,44,96,.07)!important}
.provider-description-section h2{color:#052c60!important;font-size:20px!important;margin:9px 0 13px!important}
.provider-detail-container .provider-main-content{display:grid!important;grid-template-columns:1fr 360px!important;gap:24px!important;margin-top:24px!important}
.provider-detail-container .sticky-provider-cta{width:360px!important;margin:24px 0 0 auto!important;background:#fff!important;border:1px solid #dfe7f1!important;border-radius:17px!important;box-shadow:0 10px 30px rgba(5,44,96,.07)!important}
.partner-marketplace{width:min(1120px,calc(100% - 32px))!important;min-height:336px!important;margin:35px auto!important;padding:28px!important;background:#fff!important;border:1px solid #dfe7f1!important;border-radius:18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:28px!important;box-shadow:0 10px 30px rgba(5,44,96,.07)!important}
.partner-marketplace h2{color:#052c60!important;margin:8px 0!important}.partner-marketplace p{color:#667085!important;margin:0!important}.partner-marketplace a{white-space:nowrap!important;padding:14px 20px!important;border:1px solid #b9c9dc!important;border-radius:10px!important;color:#052c60!important;text-decoration:none!important;font-weight:850!important}
.process{background:#fff!important;padding:76px max(24px,calc((100% - 1120px)/2))!important;margin-top:55px!important}
.process-heading{max-width:680px!important}.process-heading h2{color:#052c60!important;font-size:38px!important;letter-spacing:-1px!important;margin:10px 0!important}.process-heading p{color:#667085!important;font-size:16px!important;line-height:1.7!important}
.process-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:18px!important;margin-top:34px!important}.process-grid article{border-top:3px solid #ff8a00!important;background:#f6f9fd!important;border-radius:13px!important;padding:22px!important}.process-grid span{color:#0879c9!important;font-weight:900!important}.process-grid h3{color:#052c60!important;margin:14px 0 9px!important}.process-grid p{color:#667085!important;font-size:14px!important;line-height:1.6!important;margin:0!important}
@media(max-width:850px){.login-page.auth-container{grid-template-columns:1fr!important;background:linear-gradient(#07386f 0 42%,#f3f6fa 42%)!important}.login-message{padding-bottom:30px!important}.provider-profile-hero .provider-header{grid-template-columns:90px 1fr!important}.provider-hero-cta{grid-column:1/-1!important}.provider-trust-strip{grid-template-columns:1fr 1fr!important}.provider-detail-container .provider-main-content{grid-template-columns:1fr!important}.provider-detail-container .sticky-provider-cta{width:100%!important}}
@media(max-width:850px){.process-grid{grid-template-columns:1fr 1fr!important}.partner-marketplace{align-items:flex-start!important;flex-direction:column!important}}
@media(max-width:620px){.registration-intro{height:330px!important;padding-top:48px!important}.registration-page .registration-split{margin-top:-44px!important}.login-page.auth-container{padding:42px 16px!important}.login-message h1{font-size:44px!important}.provider-profile-hero{padding-top:42px!important}.provider-profile-hero .provider-header{grid-template-columns:74px 1fr!important;gap:15px!important}.provider-profile-hero .provider-logo-container{width:74px!important;height:74px!important;border-width:6px!important}.provider-profile-hero .provider-title{font-size:34px!important}.provider-trust-strip{grid-template-columns:1fr 1fr!important}.results-heading{align-items:flex-start!important;flex-direction:column!important}.process-grid{grid-template-columns:1fr!important}.process{padding:54px 18px!important}}

/* Booking details, rate cards and operational workflows */
.main-title{color:#052c60!important;font-size:30px!important}.section-title{color:#052c60!important;border-bottom:1px solid #dfe7f1!important;padding-bottom:12px!important}
.booking-detail-item,.extension-item,.stat-box,.chart-card,.rate-card,.provider-selection,.info-bar,.multi-booking-info,.fee-group{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(5,44,96,.06)!important}
.booking-detail-label{color:#667085!important;font-size:11px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.04em!important}.booking-detail-value{color:#172033!important}
.actions-container,.actions-container-now,.action-buttons{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:14px!important;padding:18px!important}
.action-btn,.action-btn-conf,.action-btn-ign,.view-details-btn{border-radius:9px!important;min-height:42px!important;font-weight:850!important}.action-btn-conf{background:#167647!important;color:#fff!important}.action-btn-ign{background:#fff!important;color:#b42318!important;border:1px solid #e6b8b4!important}
.available{color:#167647!important;background:#e9f8ef!important;border-color:#b8e3c7!important}.not-available{color:#b42318!important;background:#fff0ef!important;border-color:#f0c2bd!important}
.status-confirmed{color:#167647!important;background:#e9f8ef!important}.status-canceled{color:#b42318!important;background:#fff0ef!important}.pending-extension{color:#9c5b00!important;background:#fff4dc!important}
.duration-highlight{background:#fff4dc!important;border:1px solid #f0d394!important;border-radius:9px!important;color:#7a4b00!important}
.logs-table,.merged-table{border:1px solid #dfe7f1!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important}
.qr-section{background:#f8fbff!important;border:1px dashed #b7c9dc!important;border-radius:14px!important}

/* Messaging */
.chat-window,.chat-container{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:18px!important;box-shadow:0 18px 48px rgba(5,44,96,.12)!important;overflow:hidden!important}.chat-header{background:#052c60!important;color:#fff!important}.chat-messages{background:#f5f8fc!important}.chat-message{border-radius:14px!important;box-shadow:0 4px 14px rgba(5,44,96,.06)!important}.chat-input-container,.chat-input-wrapper{background:#fff!important;border-top:1px solid #dfe7f1!important}.chat-input{border:1px solid #cbd7e5!important;border-radius:10px!important}.chat-send-btn,.chat-circle-btn{background:#ff8a00!important;color:#172033!important;border:0!important}

/* Admin and account manager */
.admin-container,.account-manager-container,.dashboard-wrapper{background:#f3f6fa!important}.admin-card,.management-card,.stats-grid>*,.chart-card{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(5,44,96,.07)!important}.stats-grid{gap:16px!important}.stat-box{padding:20px!important}.stat-box .price,.stat-box strong{color:#052c60!important}
.error-message{background:#fff0ef!important;color:#b42318!important;border:1px solid #f0c2bd!important;border-left:5px solid #b42318!important;border-radius:11px!important}.success-message,.success-container{background:#e9f8ef!important;color:#167647!important;border:1px solid #b8e3c7!important;border-left:5px solid #167647!important;border-radius:11px!important}

/* Screenshot-accurate public homepage — 29 July 2026 */
.header-container{max-width:1324px!important}
.hero{min-height:570px!important}
.hero-container{width:min(1258px,calc(100% - 64px))!important;padding-bottom:72px!important}
.hero-container h1{max-width:840px!important}
.hero-benefits{display:flex!important;gap:30px!important;margin-top:30px!important;color:#eaf3ff!important;font-size:14px!important;font-weight:800!important}
.ad-header{min-height:84px!important}
.ad-header img{width:min(728px,54vw)!important;height:62px!important;margin:0!important}
.ad-header-cta{margin-left:32px!important;border:1px solid #b9c9dc!important;border-radius:9px!important;padding:12px 18px!important;color:#052c60!important;text-decoration:none!important;font-size:12px!important;font-weight:800!important}
.search-section{width:min(1194px,calc(100% - 48px))!important;margin:-91px auto 47px!important;padding:38px 32px 30px!important}
.search-section::before{content:"Find broadcast services"!important;font-size:28px!important;margin:0 0 26px!important}
.search-kicker{color:#ff8a00!important;font-size:11px!important;font-weight:900!important;letter-spacing:.17em!important;margin-bottom:14px!important}
.search-demo-pill{position:absolute!important;right:32px!important;top:72px!important;padding:10px 15px!important;border-radius:999px!important;background:#edf7ff!important;color:#0879c9!important;font-size:11px!important;font-weight:850!important}
.results-heading,.providers-grid,.multi-service-btn{width:min(1194px,calc(100% - 48px))!important}
.results-heading{margin-top:44px!important}
.multi-service-btn{display:block!important;margin:28px auto!important;border:0!important;border-radius:17px!important;background:linear-gradient(110deg,#123b79,#3287d4)!important;color:#fff!important;box-shadow:0 16px 38px rgba(5,44,96,.12)!important}
.multi-service-btn::before{display:none!important}
.multi-btn-inner{min-height:160px!important;padding:24px 28px!important;display:grid!important;grid-template-columns:64px 1fr auto!important;gap:24px!important;align-items:center!important;text-align:left!important}
.multi-btn-badges{width:64px!important;height:64px!important;border-radius:14px!important;background:rgba(255,255,255,.12)!important;display:grid!important;place-items:center!important}
.multi-btn-badges img{max-width:42px!important;max-height:42px!important}
.multi-btn-kicker{color:#ffc21a!important;font-size:10px!important;font-weight:900!important;letter-spacing:.15em!important;margin-bottom:10px!important}
.multi-btn-title{font-size:25px!important;font-weight:500!important;color:#fff!important}
.multi-btn-sub{font-size:15px!important;color:#eaf3ff!important;margin-top:8px!important}
.multi-btn-meta{font-size:12px!important;color:#d8e8fb!important;margin-top:12px!important;font-weight:750!important}
.multi-btn-arrow{background:linear-gradient(135deg,#ff9a00,#ffc21a)!important;color:#172033!important;border-radius:11px!important;padding:18px 22px!important;font-size:15px!important;font-weight:900!important}
.providers-grid{grid-template-columns:repeat(3,1fr)!important;gap:24px!important}
.provider-card{min-height:400px!important;border:1px solid #dfe7f1!important;border-radius:16px!important;overflow:hidden!important}
.provider-card::before{display:none!important}
.provider-media{height:196px!important;position:relative!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,#f6faff,#fff)!important}
.provider-media .provider-logo{width:132px!important;height:132px!important;object-fit:contain!important}
.verified-badge{position:absolute!important;right:14px!important;top:14px!important;border-radius:999px!important;background:#e8f8ee!important;color:#167647!important;padding:7px 10px!important;font-size:10px!important;font-weight:850!important}
.provider-content{padding:20px 20px 12px!important;text-align:left!important}
.provider-name{font-size:21px!important;font-weight:500!important;margin:0 0 12px!important}
.provider-place{font-size:12px!important;font-weight:800!important;color:#475467!important}.provider-place i{font-size:6px!important;margin-right:5px!important}
.provider-response{font-size:12px!important;color:#667085!important;margin-top:12px!important}
.provider-card .now{padding:10px 20px 20px!important;gap:9px!important;margin-top:auto!important}
.provider-card .view-now,.provider-card .book-now{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:50px!important;margin:0!important;border-radius:9px!important;font-size:12px!important;font-weight:850!important;text-decoration:none!important}
.provider-card .view-now{width:39%!important;border:1px solid #052c60!important;background:#fff!important;color:#052c60!important}
.provider-card .book-now{width:61%!important;background:#ff8a00!important;color:#fff!important}
.ad-left,.ad-right{width:224px!important;top:310px!important;padding:14px!important;border-radius:15px!important}
.ad-left{left:15px!important;margin:0!important}.ad-right{right:15px!important;margin:0!important}
.ad-left img,.ad-right img{width:196px!important;height:98px!important;max-height:none!important;object-fit:cover!important;border-radius:9px!important;margin:0 0 12px!important}
.partner-marketplace{width:min(1194px,calc(100% - 48px))!important;min-height:358px!important;margin:55px auto 80px!important;padding:34px!important;display:block!important}
.partner-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:14px!important;margin-top:26px!important}
.partner-grid>img,.partner-placeholder{width:100%!important;height:138px!important;border-radius:9px!important}
.partner-grid>img{object-fit:contain!important;background:#0b4eb4!important}
.partner-placeholder{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;background:#f5f9fd!important;border:1px dashed #a9bfd7!important;color:#052c60!important}
.partner-placeholder span{font-size:11px!important;color:#667085!important;margin-top:8px!important}
.partner-cta{display:block!important;width:max-content!important;margin:20px auto 0!important}
.process{padding:76px max(24px,calc((100% - 1194px)/2))!important;margin-top:0!important;scroll-margin-top:96px!important}
.process-grid{grid-template-columns:repeat(3,1fr)!important;gap:20px!important}
.process-grid article{min-height:190px!important;border-top:0!important;padding:28px!important}
.process-grid span{color:#ff8a00!important;font-size:26px!important}
.chatbot-trigger{position:fixed!important;right:24px!important;left:auto!important;bottom:24px!important;width:235px!important;height:66px!important;border-radius:999px!important;background:#2377bd!important;border:0!important;padding:10px 18px!important;display:flex!important;align-items:center!important;gap:12px!important;overflow:visible!important;box-shadow:0 16px 35px rgba(5,44,96,.24)!important}
.assistant-star{width:42px!important;height:42px!important;border-radius:50%!important;background:#ffc21a!important;color:#052c60!important;display:grid!important;place-items:center!important;font-size:20px!important}
.assistant-copy{display:flex!important;flex-direction:column!important;color:#fff!important;text-align:left!important}.assistant-copy strong{font-size:12px!important}.assistant-copy small{font-size:10px!important;color:#dcefff!important;margin-top:3px!important}
@media(min-width:1500px){.ad-left,.ad-right{display:block!important}}
@media(max-width:1499px){.ad-left,.ad-right{display:none!important}}
@media(max-width:850px){.hero-benefits{flex-direction:column!important;gap:8px!important}.partner-grid{grid-template-columns:1fr 1fr!important}.multi-btn-inner{grid-template-columns:52px 1fr!important}.multi-btn-arrow{grid-column:1/-1!important;text-align:center!important}.providers-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.search-demo-pill{position:static!important;display:inline-block!important;margin-bottom:18px!important}.providers-grid,.partner-grid,.process-grid{grid-template-columns:1fr!important}.chatbot-trigger{width:205px!important;height:60px!important;right:12px!important;bottom:12px!important}}

/* Final screenshot-match pass: public pages */
body{background:#f3f6fa!important}
.header{position:sticky!important;top:0!important;z-index:1000!important;min-height:80px!important}
.header-container{min-height:80px!important;width:min(1324px,calc(100% - 48px))!important;padding:0!important}
.logo{font-size:27px!important;letter-spacing:-.3px!important}
.main-content{padding:0!important}
.search-section .filter-label{font-size:14px!important;font-weight:800!important;color:#26364d!important}
.search-section .filter-label{font-size:0!important}
.search-section .filter-group:first-child .filter-label::after{content:"Country";font-size:14px}
.search-section .filter-group:last-child .filter-label::after{content:"Service";font-size:14px}

.portal-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;background:#eaf0f7!important;border-radius:11px!important;padding:5px!important;margin:0 0 24px!important}
.portal-tab{display:grid!important;place-items:center!important;min-height:44px!important;color:#667085!important;font-weight:800!important;border-radius:8px!important}
.portal-tab.active{background:#fff!important;color:#052c60!important;box-shadow:0 5px 15px rgba(5,44,96,.08)!important}
.login-options{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:12px!important}
.remember-option{display:flex!important;align-items:center!important;gap:7px!important;color:#667085!important;font-size:11px!important}
.forgot-password{position:static!important;margin:0!important;font-size:11px!important}
.login-guidance{margin-top:14px!important;background:#fff7e8!important;border-radius:9px!important;padding:11px!important;text-align:center!important;color:#83520c!important;font-size:10px!important}
.login-card .auth-footer{margin-top:17px!important}

.provider-detail-container{background:#f3f6fa!important}
.provider-profile-hero{padding-top:39px!important}
.provider-profile-hero .provider-header::before{content:"Home  ›  Providers";grid-column:1/-1;color:#d6e8fa;font-size:11px;margin-bottom:10px}
.provider-profile-hero .provider-header{grid-template-rows:auto auto!important}
.verified-kicker{color:#ffd11a!important}
.provider-profile-hero .provider-info::after{content:"Professional broadcast services";display:inline-block;color:#d9edff;margin-left:8px;font-size:16px}
.provider-hero-cta::before{content:"●  Available for requests";display:block;color:#d9edff;font-size:11px;margin-bottom:16px}
.provider-detail-container .provider-detail{display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;grid-template-areas:"about request" "services request" "gallery request"!important;gap:20px 24px!important;align-items:start!important}
.provider-description-section{grid-area:about!important}
.provider-main-content{grid-area:services!important;display:block!important;margin:0!important}
.provider-main-content .services-section{margin:0 0 20px!important}
.provider-main-content .contact-section{margin:0!important}
.sticky-provider-cta{grid-area:request!important;position:sticky!important;top:104px!important;width:auto!important;margin:0!important;padding:27px!important}
.image-gallery{grid-area:gallery!important}
.provider-verification-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;margin-top:22px!important}
.provider-verification-grid>div{position:relative!important;min-height:66px!important;background:#f2f7fc!important;border-radius:10px!important;padding:13px 12px 10px 48px!important}
.provider-verification-grid span{position:absolute!important;left:14px!important;top:15px!important;width:25px!important;height:25px!important;border-radius:50%!important;background:#daf3e5!important;color:#167647!important;display:grid!important;place-items:center!important}
.provider-verification-grid strong,.provider-verification-grid small{display:block!important}
.provider-verification-grid strong{font-size:12px!important;color:#052c60!important}
.provider-verification-grid small{font-size:9px!important;color:#667085!important;margin-top:4px!important}
.sticky-provider-cta h2{color:#052c60!important;font-size:17px!important;margin:10px 0 12px!important}
.sticky-provider-cta p{color:#667085!important;line-height:1.65!important;margin:0 0 18px!important}
.provider-request-summary{background:#eef6fd!important;border-radius:11px!important;padding:15px!important;display:grid!important;gap:5px!important;margin-bottom:18px!important}
.provider-request-summary small{color:#667085!important;font-size:9px!important;margin-top:3px!important}
.provider-request-summary strong{color:#052c60!important;font-size:11px!important}
.sticky-provider-cta .cta-btn{width:100%!important;min-height:51px!important;background:linear-gradient(135deg,#ff8a00,#ffc21a)!important;color:#172033!important;border:0!important;border-radius:10px!important;font-weight:900!important}
.request-note{display:block!important;text-align:center!important;color:#667085!important;font-size:9px!important;margin-top:12px!important}
.services-title{font-size:0!important;margin-bottom:18px!important}.services-title::before{content:"SELECTED SERVICES";display:block;color:#ff8a00;font-size:11px;font-weight:900;letter-spacing:.16em;margin-bottom:9px}.services-title::after{content:"Technical and operational coverage";display:block;color:#052c60;font-size:17px;font-weight:500;letter-spacing:0}
.services-list{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.service-item{background:#fff!important;border:1px solid #dfe7f1!important;border-radius:10px!important;padding:16px!important}

@media(max-width:850px){
  .header-container{width:calc(100% - 30px)!important}
  .provider-detail-container .provider-detail{grid-template-columns:1fr!important;grid-template-areas:"about" "request" "services" "gallery"!important}
  .sticky-provider-cta{position:static!important}
  .provider-verification-grid{grid-template-columns:1fr!important}
  .services-list{grid-template-columns:1fr!important}
}

/* Exact client-registration screen */
.client-registration-page{min-height:calc(100vh - 80px)!important;background:#f3f6fa!important;padding:0 0 80px!important}
.client-registration-hero{height:325px!important;background:linear-gradient(112deg,#123a76,#2d6db2)!important;color:#fff!important;text-align:center!important;padding:76px 24px 0!important}
.client-registration-hero h1{font-size:clamp(42px,4.5vw,58px)!important;font-weight:400!important;line-height:1.05!important;letter-spacing:-1.9px!important;margin:18px 0 18px!important}
.client-registration-hero p{color:#e5f0fc!important;font-size:16px!important;margin:0 auto!important;max-width:760px!important}
.client-registration-card{position:relative!important;width:min(864px,calc(100% - 32px))!important;max-width:none!important;margin:-69px auto 0!important;padding:34px!important;border:1px solid #dfe7f1!important;border-radius:17px!important;box-shadow:0 20px 55px rgba(5,44,96,.14)!important}
.change-account-link{display:inline-flex!important;color:#2377bd!important;text-decoration:none!important;font-size:14px!important;font-weight:800!important;margin-bottom:35px!important}
.client-registration-card>.section-kicker{margin-bottom:16px!important}
.client-registration-card>.auth-title{font-size:29px!important;font-weight:500!important;line-height:1.2!important;text-align:left!important;color:#052c60!important;margin:0 0 12px!important}
.client-registration-card>.auth-subtitle{text-align:left!important;color:#667085!important;border-bottom:1px solid #dfe7f1!important;padding-bottom:23px!important;margin-bottom:22px!important}
.client-registration-card form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:17px 16px!important}
.client-registration-card .form-group{margin:0!important;min-width:0!important}
.client-registration-card .account-type-group{grid-column:1/-1!important}
.client-registration-card .radio-group{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin:0!important}
.client-registration-card .radio-option{min-height:54px!important;border:1px solid #dfe7f1!important;border-radius:10px!important;padding:14px!important;font-size:14px!important;font-weight:800!important;color:#314157!important}
.client-registration-card .radio-option input{width:auto!important;height:auto!important;accent-color:#2377bd!important}
.client-registration-card .form-label{font-size:12px!important;color:#314157!important;margin-bottom:8px!important}
.client-registration-card .form-control{min-height:49px!important;border:1px solid #cfdbea!important;border-radius:9px!important;padding:12px 13px!important;background:#fff!important}
.client-registration-card .form-control:focus{border-color:#2377bd!important;box-shadow:0 0 0 3px rgba(35,119,189,.12)!important}
.client-registration-card #company-email-group{grid-column:1/-1!important}
.client-registration-card .password-requirements,.client-registration-card .helper-text{font-size:10px!important;line-height:1.45!important}
.client-registration-card .btn{grid-column:1/-1!important;width:max-content!important;min-width:158px!important;min-height:49px!important;padding:13px 22px!important;background:linear-gradient(135deg,#ff8a00,#ffc21a)!important;color:#172033!important;border-radius:10px!important;font-weight:900!important}
.client-registration-card .auth-footer{grid-column:1/-1!important}

/* Compact register screen: fit header + hero + form on one screen, no scroll needed */
body.register-page .header{min-height:52px!important}
body.register-page .header-container{min-height:52px!important;padding:0 20px!important}
body.register-page .logo{font-size:19px!important}
.client-registration-page{padding:0 0 24px!important}
.client-registration-hero{height:130px!important;padding:24px 24px 0!important}
.client-registration-hero h1{font-size:clamp(26px,3vw,34px)!important;margin:8px 0 6px!important}
.client-registration-hero p{display:none!important}
.client-registration-card{margin:-30px auto 0!important;padding:22px!important}
.change-account-link{margin-bottom:14px!important}
.client-registration-card>.section-kicker{margin-bottom:8px!important}
.client-registration-card>.auth-title{font-size:22px!important;margin:0 0 6px!important}
.client-registration-card>.auth-subtitle{padding-bottom:10px!important;margin-bottom:10px!important;font-size:13px!important}
.client-registration-card form{gap:10px 14px!important}
.client-registration-card .radio-option{min-height:38px!important;padding:8px 12px!important}
.client-registration-card .form-label{margin-bottom:4px!important}
.client-registration-card .form-control{min-height:38px!important;padding:8px 10px!important}
.client-registration-card .password-requirements,.client-registration-card .helper-text{margin-top:3px!important}
.client-registration-card .btn{min-height:38px!important;padding:9px 20px!important}
.client-registration-card .auth-footer{margin-top:8px!important;font-size:12px!important}

@media(max-height:720px){
  .client-registration-hero{height:100px!important;padding-top:18px!important}
  .client-registration-hero h1{font-size:24px!important;margin:6px 0 4px!important}
  .client-registration-hero p{display:none!important}
  .client-registration-card{margin-top:-30px!important;padding:16px!important}
  .change-account-link{margin-bottom:8px!important}
  .client-registration-card>.auth-subtitle{padding-bottom:6px!important;margin-bottom:8px!important}
  .client-registration-card form{gap:7px 12px!important}
  .client-registration-card .radio-option{min-height:34px!important;padding:6px 10px!important}
  .client-registration-card .form-control{min-height:34px!important}
  .client-registration-card .btn{min-height:34px!important}
}

.search-section::before{font-weight:500!important}
.results-heading h2,.process-heading h2{font-weight:400!important}

@media(max-width:700px){
  .client-registration-hero{height:150px!important;padding-top:32px!important}
  .client-registration-card{padding:24px 19px!important;margin-top:-30px!important}
  .client-registration-card form{grid-template-columns:1fr!important}
  .client-registration-card .account-type-group,.client-registration-card #company-email-group,.client-registration-card .btn{grid-column:1!important}
  .client-registration-card .radio-group{grid-template-columns:1fr!important}
}

/* Homepage visual parity with the approved TVZONE demo */
.premium-ad-strip{
  position:relative!important;
  left:50%!important;
  z-index:8!important;
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  min-height:84px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  padding:0!important;
  background:#fff!important;
  border-bottom:1px solid #dfe7f1!important;
  box-shadow:0 8px 22px rgba(5,44,96,.06)!important;
  box-sizing:border-box!important;
}
.premium-ad-inner{
  width:min(1194px,calc(100% - 48px))!important;
  min-height:84px!important;
  margin:0 auto!important;
  padding:8px 0!important;
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr) 150px!important;
  align-items:center!important;
  gap:24px!important;
  box-sizing:border-box!important;
}
.premium-ad-label{
  color:#9c5b00!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  white-space:nowrap!important;
}
.premium-ad-inner img{
  display:block!important;
  justify-self:center!important;
  width:min(728px,100%)!important;
  height:62px!important;
  max-height:62px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  border-radius:7px!important;
}
.premium-ad-cta{
  justify-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:10px 17px!important;
  color:#052c60!important;
  background:#fff!important;
  border:1px solid #b9c9dc!important;
  border-radius:9px!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body:not(.provider-profile-page) .hero > .ad-header{
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body:not(.provider-profile-page) .hero-container{
  width:min(1194px,calc(100% - 360px))!important;
  max-width:1194px!important;
  margin:0 auto!important;
  padding-top:96px!important;
  padding-bottom:92px!important;
}
body:not(.provider-profile-page) .hero-container h1{
  max-width:820px!important;
}
.provider-card{
  display:flex!important;
  flex-direction:column!important;
}
.provider-card .provider-content{
  flex:1 1 auto!important;
}
.provider-card .now{
  min-height:80px!important;
}
.provider-card .now .view-now:only-child{
  width:100%!important;
}
.providers-grid:has(> .provider-card:nth-child(2):last-child){
  grid-template-columns:repeat(2,minmax(0,380px))!important;
  justify-content:start!important;
}

@media(max-width:1499px){
  body:not(.provider-profile-page) .hero-container{
    width:min(920px,calc(100% - 330px))!important;
  }
}

/* Wide desktop: reserve clear gutters for the fixed advertising panels.
   This prevents the ads from covering hero copy, filters or provider content. */
@media(min-width:1580px){
  body:not(.provider-profile-page) .ad-left,
  body:not(.provider-profile-page) .ad-right{
    display:block!important;
    width:210px!important;
  }
  body:not(.provider-profile-page) .ad-left{
    left:16px!important;
    margin-left:0!important;
  }
  body:not(.provider-profile-page) .ad-right{
    right:16px!important;
    margin-right:0!important;
  }
  body:not(.provider-profile-page) .hero-container,
  body:not(.provider-profile-page) .search-section,
  body:not(.provider-profile-page) .results-heading,
  body:not(.provider-profile-page) .providers-grid,
  body:not(.provider-profile-page) .partner-marketplace{
    width:calc(100% - 640px)!important;
    max-width:1280px!important;
  }
}

/* Keep the two revenue side panels visible at normal desktop zoom.
   Their footprint and the central column are reduced together to avoid overlap. */
@media(min-width:1200px) and (max-width:1579px){
  body:not(.provider-profile-page) .ad-left,
  body:not(.provider-profile-page) .ad-right{
    display:block!important;
    width:148px!important;
    top:188px!important;
    padding:9px!important;
  }
  body:not(.provider-profile-page) .ad-left{
    left:6px!important;
    margin-left:0!important;
  }
  body:not(.provider-profile-page) .ad-right{
    right:6px!important;
    margin-right:0!important;
  }
  body:not(.provider-profile-page) .ad-left::before,
  body:not(.provider-profile-page) .ad-right::before{
    margin-bottom:7px!important;
    font-size:8px!important;
  }
  body:not(.provider-profile-page) .ad-left img,
  body:not(.provider-profile-page) .ad-right img{
    margin-bottom:8px!important;
  }
  body:not(.provider-profile-page) .hero-container,
  body:not(.provider-profile-page) .search-section,
  body:not(.provider-profile-page) .results-heading,
  body:not(.provider-profile-page) .providers-grid,
  body:not(.provider-profile-page) .partner-marketplace{
    width:calc(100% - 344px)!important;
    max-width:1194px!important;
  }
}

@media(max-width:1199px){
  body:not(.provider-profile-page) .ad-left,
  body:not(.provider-profile-page) .ad-right{
    display:none!important;
  }
}
@media(max-width:1050px){
  .premium-ad-strip{
    display:none!important;
  }
  body:not(.provider-profile-page) .hero-container{
    width:min(920px,calc(100% - 48px))!important;
  }
}
@media(max-width:850px){
  .providers-grid:has(> .provider-card:nth-child(2):last-child){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  body:not(.provider-profile-page) .hero-container{
    width:calc(100% - 34px)!important;
    padding-top:42px!important;
    padding-bottom:90px!important;
  }
  .providers-grid:has(> .provider-card:nth-child(2):last-child){
    grid-template-columns:1fr!important;
  }
}

/* Desktop homepage hero parity with the approved demo.
   Visual-only: preserves all search, provider and booking behaviour. */
@media(min-width:1051px){
  body:not(.provider-profile-page) .hero{
    height:520px!important;
    min-height:520px!important;
    padding:0 20px!important;
  }
  body:not(.provider-profile-page) .hero::before{
    content:none!important;
    display:none!important;
  }
  body:not(.provider-profile-page) .hero::after{
    background:linear-gradient(
      90deg,
      rgba(3,26,57,.88) 0%,
      rgba(3,26,57,.62) 52%,
      rgba(3,26,57,.30) 100%
    )!important;
  }
  body:not(.provider-profile-page) .hero-container{
    padding-top:46px!important;
    padding-bottom:46px!important;
  }
  body:not(.provider-profile-page) .hero-container h1{
    max-width:790px!important;
    font-size:clamp(40px,4.1vw,60px)!important;
    line-height:1.05!important;
    letter-spacing:-2px!important;
  }
  body:not(.provider-profile-page) .hero-container p{
    max-width:720px!important;
    font-size:clamp(16px,1.35vw,19px)!important;
    line-height:1.55!important;
  }
  body:not(.provider-profile-page) .search-section{
    margin-top:-82px!important;
    padding-top:30px!important;
    padding-bottom:24px!important;
  }
  body:not(.provider-profile-page) .search-section::before{
    margin-bottom:20px!important;
  }
}

/* Provider profile: final live-data layout correction
   Presentation only. Existing provider data and booking routes are unchanged. */
.provider-detail-container{
  overflow-x:hidden!important;
}
.provider-detail-container .provider-profile-hero{
  width:100%!important;
}
.provider-detail-container .provider-profile-hero .provider-header::before{
  content:none!important;
  display:none!important;
}
.provider-detail-container .provider-breadcrumb{
  grid-column:1/-1!important;
  color:#d6e8fa!important;
  font-size:11px!important;
  line-height:1.5!important;
  margin:0 0 10px!important;
}
.provider-detail-container .provider-breadcrumb span{
  margin:0 7px!important;
  opacity:.7!important;
}
.provider-detail-container .provider-breadcrumb strong{
  color:#fff!important;
  font-weight:800!important;
}
.provider-detail-container .provider-detail{
  width:min(1130px,calc(100% - 32px))!important;
  max-width:none!important;
  margin:28px auto 0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
  grid-template-areas:
    "about request"
    "services request"
    "gallery request"!important;
  gap:20px 24px!important;
  align-items:start!important;
}
.provider-detail-container .provider-detail::before{
  display:none!important;
}
.provider-detail-container .provider-detail > .provider-description-section{
  grid-area:about!important;
  min-width:0!important;
  margin:0!important;
}
.provider-detail-container .provider-detail > .provider-main-content{
  grid-area:services!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:20px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.provider-detail-container .provider-main-content > .services-section,
.provider-detail-container .provider-main-content > .contact-section{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:26px!important;
  background:#fff!important;
  border:1px solid #dfe7f1!important;
  border-radius:16px!important;
  box-shadow:0 10px 30px rgba(5,44,96,.07)!important;
}
.provider-detail-container .services-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.provider-detail-container .service-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-width:0!important;
  min-height:104px!important;
  padding:17px!important;
}
.provider-detail-container .service-name{
  width:100%!important;
  margin:0!important;
  color:#052c60!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
.provider-detail-container .service-countries{
  width:100%!important;
  margin:0!important;
  color:#667085!important;
  font-size:12px!important;
  line-height:1.55!important;
  overflow-wrap:anywhere!important;
}
.provider-detail-container .contact-title{
  color:#052c60!important;
  font-size:17px!important;
  font-weight:700!important;
  margin:0 0 18px!important;
}
.provider-detail-container .provider-contact{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.provider-detail-container .contact-item{
  min-width:0!important;
}
.provider-detail-container .contact-item a,
.provider-detail-container .contact-item span{
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.provider-detail-container .provider-detail > .sticky-provider-cta{
  grid-area:request!important;
  position:sticky!important;
  top:104px!important;
  align-self:start!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:27px!important;
  color:#172033!important;
  background:#fff!important;
  border:1px solid #dfe7f1!important;
  border-radius:16px!important;
  box-shadow:0 12px 35px rgba(5,44,96,.09)!important;
}
.provider-detail-container .sticky-provider-cta .section-kicker,
.provider-detail-container .sticky-provider-cta h2,
.provider-detail-container .sticky-provider-cta p,
.provider-detail-container .sticky-provider-cta .provider-request-summary{
  width:100%!important;
  min-width:0!important;
}
.provider-detail-container .sticky-provider-cta .cta-btn{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:51px!important;
  margin:0!important;
  padding:13px 16px!important;
  white-space:normal!important;
  line-height:1.35!important;
}
.provider-detail-container .provider-detail > .image-gallery{
  grid-area:gallery!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:26px!important;
  background:#fff!important;
  border:1px solid #dfe7f1!important;
  border-radius:16px!important;
  box-shadow:0 10px 30px rgba(5,44,96,.07)!important;
}
.provider-detail-container .gallery-grid{
  max-width:none!important;
  margin:0!important;
}

@media(max-width:900px){
  .provider-detail-container .provider-detail{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "about"
      "request"
      "services"
      "gallery"!important;
  }
  .provider-detail-container .provider-detail > .sticky-provider-cta{
    position:static!important;
  }
}

/* Provider profile presentation refinements.
   Visual-only: keep all original contact data, links, gallery actions and PHP logic. */
.provider-profile-page,
.provider-profile-page button,
.provider-profile-page input,
.provider-profile-page select,
.provider-profile-page textarea{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
}

/* One verified contact method per row for clear scanning. */
.provider-profile-page .provider-contact{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
}
.provider-profile-page .provider-contact .contact-item{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Compact gallery thumbnails; the existing click-to-enlarge popup is preserved. */
.provider-profile-page .gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.provider-profile-page .gallery-item{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  aspect-ratio:16 / 10!important;
  overflow:hidden!important;
}
.provider-profile-page .gallery-image{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}

@media(max-width:1000px){
  .provider-profile-page .gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:700px){
  .provider-profile-page .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:440px){
  .provider-profile-page .gallery-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:620px){
  .provider-detail-container .services-list,
  .provider-detail-container .provider-contact{
    grid-template-columns:1fr!important;
  }
  .provider-detail-container .provider-main-content > .services-section,
  .provider-detail-container .provider-main-content > .contact-section,
  .provider-detail-container .provider-detail > .sticky-provider-cta,
  .provider-detail-container .provider-detail > .image-gallery{
    padding:20px!important;
  }
}

/* Provider profile parity: full-width hero with demo-aligned content */
.main-content:has(> .provider-detail-container){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.main-content > .provider-detail-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-bottom:70px!important;
  overflow:visible!important;
}
.provider-detail-container .provider-profile-hero{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  box-sizing:border-box!important;
}
.provider-detail-container .provider-profile-hero .provider-header{
  width:min(1080px,calc(100% - 48px))!important;
  max-width:1080px!important;
  margin:0 auto!important;
}
.provider-detail-container .provider-trust-strip{
  width:min(1080px,calc(100% - 32px))!important;
  max-width:1080px!important;
}
.provider-detail-container .provider-detail{
  width:min(1080px,calc(100% - 32px))!important;
  grid-template-columns:minmax(0,1fr) 326px!important;
}

@media(max-width:900px){
  .provider-detail-container .provider-detail{
    grid-template-columns:1fr!important;
  }
}

/* Provider profile desktop parity with the approved demo.
   The real provider services, contacts and booking routes remain unchanged. */
@media(min-width:901px){
  .provider-profile-page .main-content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .provider-profile-page .provider-detail-container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 0 70px!important;
    overflow:visible!important;
  }
  .provider-profile-page .provider-profile-hero{
    position:relative!important;
    left:50%!important;
    width:100vw!important;
    max-width:none!important;
    min-height:312px!important;
    margin:0!important;
    padding:42px 24px 55px!important;
    transform:translateX(-50%)!important;
    box-sizing:border-box!important;
  }
  .provider-profile-page .provider-profile-hero .provider-header{
    width:min(1324px,calc(100% - 48px))!important;
    max-width:1324px!important;
    grid-template-columns:122px minmax(0,1fr) auto!important;
    gap:28px!important;
    margin:0 auto!important;
  }
  .provider-profile-page .provider-profile-hero .provider-logo-container{
    width:122px!important;
    height:122px!important;
  }
  .provider-profile-page .provider-profile-hero .provider-title{
    font-size:clamp(44px,4.2vw,60px)!important;
    line-height:1.25!important;
  }
  .provider-profile-page .provider-hero-cta{
    position:relative!important;
    margin-top:30px!important;
  }
  .provider-profile-page .provider-hero-cta::before{
    position:absolute!important;
    right:0!important;
    bottom:calc(100% + 12px)!important;
    display:block!important;
    width:max-content!important;
    margin:0!important;
    color:#d9edff!important;
    white-space:nowrap!important;
  }
  .provider-profile-page .provider-trust-strip{
    position:relative!important;
    left:50%!important;
    width:min(1200px,calc(100vw - 32px))!important;
    max-width:1200px!important;
    margin:-24px 0 32px!important;
    transform:translateX(-50%)!important;
  }
  .provider-profile-page .provider-detail{
    position:relative!important;
    left:50%!important;
    width:min(1324px,calc(100vw - 32px))!important;
    max-width:1324px!important;
    margin:28px 0 0!important;
    transform:translateX(-50%)!important;
    grid-template-columns:minmax(0,1fr) 400px!important;
    gap:22px 26px!important;
  }
}

/* Registration role page: live-server correction */
.header .header-nav{
  align-items:center!important;
  gap:28px!important;
}
@media (min-width:769px){
  .header .header-nav{
    display:flex!important;
  }
}
/* The registration chooser has no hamburger menu, so its desktop/navigation
   row must remain visible. Other pages retain their own responsive menu rules. */
body.register-choose .header .header-nav{
  display:flex!important;
}
.header .header-nav a,
.header .header-nav a:visited{
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:750!important;
}
.header .header-nav a:hover,
.header .header-nav a:focus-visible{
  color:#ffc21a!important;
}
.main-content.registration-page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 76px!important;
  background:#f3f6fa!important;
}
.registration-page .registration-intro{
  width:100%!important;
  height:350px!important;
  padding:72px 24px 0!important;
  color:#fff!important;
  background:linear-gradient(112deg,#123a76,#2d6db2)!important;
}
.registration-page .registration-intro .eyebrow{
  color:#ff9a00!important;
}
.registration-page .registration-intro h1{
  color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.registration-page .registration-intro p{
  color:#e5f0fc!important;
  opacity:1!important;
}
.registration-page > .registration-split{
  margin:-70px auto 0!important;
  z-index:2!important;
}

/* Compact "How will you use TVZONE?" chooser: fit on a 15" laptop screen without scrolling */
body.register-choose .header{min-height:50px!important}
body.register-choose .header-container{min-height:50px!important;padding:0 20px!important}
body.register-choose .logo{font-size:18px!important}
.main-content.registration-page{padding:0 0 40px!important;min-height:0!important}
.registration-page .registration-intro{height:216px!important;padding:30px 24px 0!important}
.registration-page .registration-intro h1{font-size:clamp(30px,3.6vw,40px)!important;margin:10px 0 8px!important;letter-spacing:-.5px!important}
.registration-page .registration-intro .eyebrow{font-size:12px!important}
.registration-page .registration-intro p{display:block!important;max-width:600px!important;margin:0 auto!important;font-size:14px!important;line-height:1.5!important}
.registration-page > .registration-split{margin:-30px auto 0!important;gap:16px!important}
.registration-page .registration-card{min-height:0!important}
.registration-page .card-header{padding:16px!important;gap:6px!important}
.registration-page .role-icon{width:34px!important;height:34px!important;font-size:15px!important;margin-bottom:0!important;border-radius:9px!important}
.registration-page .header-badge{font-size:9px!important}
.registration-page .card-title{font-size:18px!important;margin:0!important}
.registration-page .card-subtitle{font-size:12px!important;line-height:1.4!important;min-height:0!important}
.role-benefits{gap:4px!important;padding:0 0 2px!important;font-size:11px!important;line-height:1.3!important}
.role-benefits li::before{margin-right:8px!important}
.registration-page .register-btn{min-height:34px!important;padding:8px 14px!important;font-size:12.5px!important;margin-top:6px!important}

@media(max-width:700px){
  .header .header-nav{
    gap:14px!important;
  }
  .header .header-nav a{
    font-size:12px!important;
  }
  .registration-page .registration-intro{
    height:92px!important;
    padding:16px 18px 0!important;
  }
  .registration-page > .registration-split{
    margin-top:-20px!important;
  }
}

/* Homepage desktop zoom correction (100%).
   Keep the revenue panels visible without letting their images overflow into
   the hero, sponsor strip or search form. Functional markup is unchanged. */
html{
  max-width:100%!important;
  overflow-x:hidden!important;
  scroll-behavior:smooth!important;
}

body:not(.provider-profile-page) .hero,
body:not(.provider-profile-page) .search-section,
body:not(.provider-profile-page) .main-content{
  box-sizing:border-box!important;
}

@media(min-width:1200px){
  body:not(.provider-profile-page) .ad-left,
  body:not(.provider-profile-page) .ad-right{
    top:188px!important;
    bottom:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body:not(.provider-profile-page) .ad-left img,
  body:not(.provider-profile-page) .ad-right img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:92px!important;
    margin:0 0 9px!important;
    object-fit:cover!important;
    box-sizing:border-box!important;
  }
  body:not(.provider-profile-page) .ad-left img:last-child,
  body:not(.provider-profile-page) .ad-right img:last-child{
    margin-bottom:0!important;
  }
  body:not(.provider-profile-page) .hero-container,
  body:not(.provider-profile-page) .search-section,
  body:not(.provider-profile-page) .results-heading,
  body:not(.provider-profile-page) .providers-grid,
  body:not(.provider-profile-page) .partner-marketplace{
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  body:not(.provider-profile-page) .search-section,
  body:not(.provider-profile-page) .search-filters{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
}

/* Provider profile: final demo typography and component sizing. */
.provider-profile-page{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  line-height:24px!important;
}
.provider-profile-page button,
.provider-profile-page input,
.provider-profile-page select,
.provider-profile-page textarea{
  font-family:Arial,Helvetica,sans-serif!important;
}
.provider-profile-page .provider-title{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:54px!important;
  font-weight:400!important;
  line-height:81px!important;
  letter-spacing:-1.5px!important;
}
.provider-profile-page .provider-description-section h2,
.provider-profile-page .services-title,
.provider-profile-page .contact-title,
.provider-profile-page .gallery-title{
  font-size:16px!important;
  font-weight:400!important;
  line-height:24px!important;
}
.provider-profile-page .provider-description-full{
  font-size:16px!important;
  font-weight:400!important;
  line-height:27.2px!important;
}
.provider-profile-page .section-kicker,
.provider-profile-page .verified-kicker{
  font-size:12px!important;
  line-height:18px!important;
  letter-spacing:2px!important;
}
.provider-profile-page .provider-contact{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
}
.provider-profile-page .contact-item{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.provider-profile-page .contact-item a,
.provider-profile-page .contact-item span{
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.provider-profile-page .gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.provider-profile-page .gallery-item{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
}
.provider-profile-page .gallery-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(min-width:901px){
  .provider-profile-page .provider-main-content > .contact-section{
    position:sticky!important;
    top:92px!important;
  }
}
@media(max-width:900px){
  .provider-profile-page .provider-title{
    font-size:42px!important;
    line-height:1.15!important;
  }
  .provider-profile-page .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  .provider-profile-page .provider-title{
    font-size:34px!important;
    letter-spacing:-.75px!important;
  }
  .provider-profile-page .gallery-grid{
    grid-template-columns:1fr!important;
  }
}

/* Provider profile alignment boundary.
   The trust strip, the description/contact row, and the gallery share the
   same outer edges while the original PHP data and actions remain intact. */
.provider-profile-page{
  --provider-profile-boundary:1200px;
}

.provider-profile-page .provider-trust-strip,
.provider-profile-page .provider-detail,
.provider-profile-page .image-gallery{
  width:min(var(--provider-profile-boundary),calc(100vw - 32px))!important;
  max-width:var(--provider-profile-boundary)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}

.provider-profile-page .image-gallery{
  margin-top:36px!important;
}

@media(min-width:901px){
  .provider-profile-page .provider-detail{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 320px!important;
    grid-template-areas:
      "about contact"
      "services contact"!important;
    column-gap:24px!important;
    row-gap:20px!important;
  }

  .provider-profile-page .provider-detail > .provider-description-section{
    grid-area:about!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .provider-profile-page .provider-detail > .provider-main-content{
    display:contents!important;
  }

  .provider-profile-page .provider-main-content > .services-section{
    grid-area:services!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .provider-profile-page .provider-main-content > .contact-section{
    grid-area:contact!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    align-self:start!important;
    position:sticky!important;
    top:92px!important;
    z-index:5!important;
  }
}

@media(max-width:900px){
  .provider-profile-page .provider-trust-strip,
  .provider-profile-page .provider-detail,
  .provider-profile-page .image-gallery{
    width:calc(100vw - 24px)!important;
    max-width:none!important;
  }

  .provider-profile-page .provider-detail{
    display:block!important;
  }

  .provider-profile-page .provider-detail > .provider-main-content{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .provider-profile-page .provider-main-content > .contact-section{
    position:static!important;
  }
}

/* First-viewport desktop fit at 100% browser zoom.
   Keep the full search form visible while preserving its fields and workflow. */
@media(min-width:1200px){
  body:not(.provider-profile-page) .hero{
    height:430px!important;
    min-height:430px!important;
  }
  body:not(.provider-profile-page) .hero-container{
    padding-top:24px!important;
    padding-bottom:54px!important;
  }
  body:not(.provider-profile-page) .hero-container::before{
    margin-bottom:12px!important;
  }
  body:not(.provider-profile-page) .hero-container h1{
    margin-bottom:14px!important;
  }
  body:not(.provider-profile-page) .hero-benefits{
    margin-top:20px!important;
  }
  body:not(.provider-profile-page) .search-section{
    margin-top:-72px!important;
    padding:24px 28px 22px!important;
  }
  body:not(.provider-profile-page) .search-section::before{
    margin-bottom:16px!important;
  }
}

/* Provider profile final refinement — compact gallery and scrolling contact.
   Visual-only: links, contact values, gallery popup and booking workflow stay unchanged. */
@media(min-width:901px){
  .provider-profile-page .provider-main-content > .contact-section{
    position:sticky!important;
    top:88px!important;
    align-self:start!important;
    height:max-content!important;
    max-height:calc(100vh - 112px)!important;
    overflow-y:auto!important;
    z-index:10!important;
  }

  .provider-profile-page .gallery-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
  }

  .provider-profile-page .gallery-item{
    aspect-ratio:16/9!important;
    max-height:170px!important;
  }
}

@media(min-width:901px) and (max-width:1100px){
  .provider-profile-page .gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  .provider-profile-page .provider-main-content > .contact-section{
    position:static!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .provider-profile-page .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:620px){
  .provider-profile-page .gallery-grid{
    grid-template-columns:1fr!important;
  }

  .provider-profile-page .gallery-item{
    max-height:210px!important;
  }
}

@media(min-width:1200px) and (max-width:1579px){
  body:not(.provider-profile-page) .ad-left,
  body:not(.provider-profile-page) .ad-right{
    width:136px!important;
  }
  body:not(.provider-profile-page) .hero-container,
  body:not(.provider-profile-page) .search-section,
  body:not(.provider-profile-page) .results-heading,
  body:not(.provider-profile-page) .providers-grid,
  body:not(.provider-profile-page) .partner-marketplace{
    width:calc(100% - 320px)!important;
    max-width:1194px!important;
  }
}

/* How-it-works: keep the copy and cards inside the same ad-safe centre column.
   The floating revenue panels remain movable, but never sit over this content. */
@media(min-width:1200px){
  body:not(.provider-profile-page) .process{
    padding:64px 24px!important;
  }
  body:not(.provider-profile-page) .process-heading,
  body:not(.provider-profile-page) .process-grid{
    width:min(1120px,68vw)!important;
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  body:not(.provider-profile-page) .process-heading h2{
    max-width:760px!important;
    font-size:clamp(32px,2.2vw,36px)!important;
    line-height:1.16!important;
  }
  body:not(.provider-profile-page) .process-heading p{
    max-width:760px!important;
  }
}

@media(max-width:1199px){
  body:not(.provider-profile-page) .process-heading,
  body:not(.provider-profile-page) .process-grid{
    width:100%!important;
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(min-width:1580px){
  body:not(.provider-profile-page) .ad-left,
  body:not(.provider-profile-page) .ad-right{
    width:210px!important;
  }
  body:not(.provider-profile-page) .hero-container,
  body:not(.provider-profile-page) .search-section,
  body:not(.provider-profile-page) .results-heading,
  body:not(.provider-profile-page) .providers-grid,
  body:not(.provider-profile-page) .partner-marketplace{
    width:calc(100% - 720px)!important;
    max-width:1194px!important;
  }
}

/* Keep the desktop composition stable when browser zoom changes the CSS
   viewport across the former 1580px breakpoint. This final override must
   remain after the legacy desktop breakpoint rules above. */
@media(min-width:1200px){
  body:not(.provider-profile-page) .ad-left,
  body:not(.provider-profile-page) .ad-right{
    width:clamp(170px,12.5vw,210px)!important;
  }
  body:not(.provider-profile-page) .hero-container,
  body:not(.provider-profile-page) .search-section,
  body:not(.provider-profile-page) .results-heading,
  body:not(.provider-profile-page) .providers-grid,
  body:not(.provider-profile-page) .partner-marketplace{
    width:min(1194px,68vw)!important;
    max-width:1194px!important;
  }
}

/* Provider registration wizard: match the compact spacing/typography used
   on the client registration page for visual consistency across the site. */
body.provider-reg-page .header{min-height:52px!important}
body.provider-reg-page .header-container{min-height:52px!important;padding:0 20px!important}
body.provider-reg-page .logo{font-size:19px!important}
body.provider-reg-page .main-content{margin:20px auto 32px!important;padding:0 20px!important}
.provider-reg-page .registration-container{margin-bottom:20px!important}
.provider-reg-page .registration-header{padding:20px 24px!important}
.provider-reg-page .registration-title{font-size:22px!important;margin-bottom:4px!important}
.provider-reg-page .registration-subtitle{font-size:13px!important}
.provider-reg-page .wizard-container{padding:22px 24px!important}
.provider-reg-page .wizard-progress{margin-bottom:22px!important}
.provider-reg-page .step-number{width:26px!important;height:26px!important;margin:0 auto 6px!important;font-size:12px!important}
.provider-reg-page .step-label{font-size:11px!important}
.provider-reg-page .form-section{padding:18px!important;margin-bottom:14px!important}
.provider-reg-page .section-title{font-size:15px!important;margin-bottom:12px!important;padding-bottom:8px!important}
.provider-reg-page .form-grid{gap:12px!important}
.provider-reg-page .form-group{margin-bottom:12px!important}
.provider-reg-page .form-label{font-size:12px!important;margin-bottom:4px!important}
.provider-reg-page .form-input,.provider-reg-page .form-control{min-height:38px!important;padding:8px 12px!important;font-size:13px!important;border-radius:8px!important}
.provider-reg-page .form-textarea{min-height:70px!important}
.provider-reg-page .form-file{padding:8px!important}
.provider-reg-page .file-info{font-size:11px!important;margin-top:4px!important}
.provider-reg-page .services-table th,.provider-reg-page .services-table td{padding:8px 10px!important;font-size:12px!important}
.provider-reg-page .service-logo{width:30px!important;height:30px!important}
.provider-reg-page .service-name{font-size:12.5px!important}
.provider-reg-page .countries-select{margin-top:8px!important;padding:8px!important}
.provider-reg-page .action-buttons{margin-top:20px!important;padding-top:14px!important}
.provider-reg-page .btn{padding:9px 20px!important;font-size:12.5px!important;border-radius:8px!important}
.provider-reg-page .success-container{padding:40px 24px!important}
.provider-reg-page .success-icon{font-size:44px!important;margin-bottom:14px!important}
.provider-reg-page .success-container h2{font-size:22px!important;margin-bottom:10px!important}
.provider-reg-page .success-container p{font-size:13px!important;margin:0 auto 18px!important}
.provider-reg-page .return-home-btn{padding:10px 22px!important;font-size:13px!important}

/* Card alignment fix: force top-aligned content across all three registration
   cards (client/provider/freelancer) and pin each button to the card bottom,
   so titles line up and buttons sit at the same height regardless of how
   much bullet/subtitle text each card has. */
.registration-page .registration-card .card-header{
  justify-content:flex-start!important;
}
.registration-page .registration-card .register-btn{
  margin-top:auto!important;
}

/* Force equal-height cards on the registration chooser page — some cards
   have less content than others, and the grid wasn't stretching them to
   match, leaving titles/buttons at inconsistent heights across cards. */
.registration-page .registration-split{
  align-items:stretch!important;
}
.registration-page .registration-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.registration-page .registration-card .card-header{
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
}
.registration-page .freelancer .card-header{
  padding:34px!important;
  gap:13px!important;
}
