/* House of Vegas Portfolio — matches site: Abel italic headings, red #990000, charcoal #131313, gray #f6f6f6 */
.hovp-sec{padding:100px 40px;background:#fff}.hovp-sec.hovp-gray{background:#f6f6f6}.hovp-center{text-align:center}
.hovp-wrap{max-width:1280px;margin:0 auto;width:100%}
.hovp-lbl{font-family:'Abel',sans-serif;font-weight:500;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:#990000;margin:0}
.hovp-lbl-l{color:#fff;opacity:.85}
.hovp-h2{font-family:'Abel',sans-serif!important;font-style:italic!important;font-weight:400!important;font-size:48px!important;line-height:1.1!important;color:#131313!important;margin:10px 0 22px!important;text-transform:none!important}
.hovp-head{margin-bottom:40px}.hovp-head .hovp-h2{margin-bottom:10px!important}
.hovp-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.hovp-link{font-family:'Abel',sans-serif;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:#131313!important;border-bottom:1px solid #990000;padding-bottom:5px;text-decoration:none!important}
.hovp-btn,.hovp-btn-o,.hovp-btn-w{display:inline-block;font-family:'Abel',sans-serif;font-weight:500;font-size:13px;letter-spacing:.22em;text-transform:uppercase;padding:16px 28px;border:1px solid #990000;text-decoration:none!important;transition:all .2s;line-height:1.2}
.hovp-btn{background:#990000;color:#fff!important}.hovp-btn:hover{background:#7a0000;border-color:#7a0000}
.hovp-btn-o{background:transparent;color:#990000!important}.hovp-btn-o:hover{background:#990000;color:#fff!important}
.hovp-btn-w{background:transparent;color:#fff!important;border-color:#fff}.hovp-btn-w:hover{background:#fff;color:#131313!important}
.hovp-btns{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 0}
.hovp-empty{font-family:'Abel',sans-serif;font-size:18px;color:#777}
/* grid + cards */
.hovp-grid{display:grid;gap:30px 26px}.hovp-cols-2{grid-template-columns:repeat(2,1fr)}.hovp-cols-3{grid-template-columns:repeat(3,1fr)}.hovp-cols-4{grid-template-columns:repeat(4,1fr)}
.hovp-card{display:flex;flex-direction:column;text-decoration:none!important;color:#131313}.hovp-card[hidden]{display:none}
.hovp-card-ph{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#e9e9e9}
.hovp-card-ph img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .8s ease}.hovp-card:hover .hovp-card-ph img{transform:scale(1.05)}
.hovp-card-n{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.6);color:#fff;font-family:'Abel',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px}
.hovp-card-t{font-family:'Abel',sans-serif;font-size:17px;letter-spacing:.14em;text-transform:uppercase;text-align:center;margin-top:16px;color:#131313}
.hovp-card-s{font-family:'Abel',sans-serif;font-size:13px;letter-spacing:.1em;text-align:center;color:#878787;margin-top:4px}
.hovp-filter{display:flex;flex-wrap:wrap;gap:8px;margin:-10px 0 34px}
.hovp-filter button{font-family:'Abel',sans-serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;background:#fff;color:#131313;border:1px solid #d6d6d6;padding:10px 16px;cursor:pointer;border-radius:0}
.hovp-filter button.is-on,.hovp-filter button:hover{background:#131313;color:#fff;border-color:#131313}
/* carousel */
.hovp-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}.hovp-track::-webkit-scrollbar{display:none}
.hovp-track .hovp-card{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start}
.hovp-arrows{display:flex;gap:10px}.hovp-arrows button{width:48px;height:48px;border:1px solid #131313;background:#fff;color:#131313;font-size:20px;cursor:pointer;border-radius:0;padding:0}.hovp-arrows button:hover{background:#131313;color:#fff}
/* single */
body.hovp-page #content>.ast-container,body.hovp-page .site-content>.ast-container{max-width:100%!important;padding:0!important;display:block!important}
body.hovp-page #primary{margin:0!important;padding:0!important;width:100%!important}
.hovp-hero{min-height:82vh;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:0 40px}
.hovp-hero-in{padding:180px 0 80px}
.hovp-hero-h1{font-family:'Abel',sans-serif!important;font-style:italic!important;font-weight:400!important;font-size:84px!important;line-height:1.02!important;color:#fff!important;margin:14px 0 0!important;text-transform:none!important}
.hovp-hero-sub{font-family:'Abel',sans-serif;font-size:16px;letter-spacing:.26em;text-transform:uppercase;color:#fff;margin:18px 0 0}
.hovp-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:80px;align-items:start}
.hovp-desc,.hovp-desc p,.hovp-desc li{font-family:'Abel',sans-serif;font-size:19px;line-height:1.8;color:#555}
.hovp-facts{border-top:2px solid #990000;background:#f6f6f6;padding:10px 26px}
.hovp-facts div{display:flex;flex-direction:column;gap:3px;padding:16px 0;border-bottom:1px solid #e3e3e3}.hovp-facts div:last-child{border-bottom:0}
.hovp-facts span{font-family:'Abel',sans-serif;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#990000}
.hovp-facts strong{font-family:'Abel',sans-serif;font-weight:400;font-size:20px;color:#131313}
.hovp-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.hovp-gi{display:block;overflow:hidden;aspect-ratio:3/2;background:#e9e9e9}.hovp-gi.is-wide{grid-column:1 / -1;aspect-ratio:16/8}
.hovp-gi img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .8s}.hovp-gi:hover img{transform:scale(1.03)}
.hovp-video{position:relative;aspect-ratio:16/9}.hovp-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hovp-cta{background:#131313;padding:90px 40px}.hovp-cta-in{display:flex;justify-content:space-between;align-items:center;gap:40px}
.hovp-cta h2{font-family:'Abel',sans-serif!important;font-style:italic!important;font-weight:400!important;font-size:46px!important;color:#fff!important;margin:10px 0 12px!important;text-transform:none!important}
.hovp-cta p{font-family:'Abel',sans-serif;font-size:18px;line-height:1.7;color:#cfcfcf;margin:0;max-width:620px}.hovp-cta .hovp-btns{margin:0;flex-shrink:0}
.hovp-lb{position:fixed;inset:0;z-index:99999;background:rgba(10,10,10,.95);display:flex;align-items:center;justify-content:center}.hovp-lb[hidden]{display:none}
.hovp-lb img{max-width:92vw;max-height:86vh;object-fit:contain}
.hovp-lb button{position:absolute;background:none;border:0;color:#fff;font-size:46px;cursor:pointer;padding:10px 18px;line-height:1}
.hovp-lb-x{top:14px;right:14px}.hovp-lb-p{left:10px;top:50%;transform:translateY(-50%)}.hovp-lb-n{right:10px;top:50%;transform:translateY(-50%)}
.hovp-lb-c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#bbb;font-family:'Abel',sans-serif;letter-spacing:.2em;margin:0}
@media(max-width:1024px){.hovp-sec{padding:80px 28px}.hovp-cols-3,.hovp-cols-4{grid-template-columns:repeat(2,1fr)}.hovp-track .hovp-card{flex-basis:calc((100% - 24px)/2)}.hovp-split{grid-template-columns:1fr;gap:40px}.hovp-hero-h1{font-size:60px!important}.hovp-cta-in{flex-direction:column;align-items:flex-start}}
@media(max-width:767px){.hovp-sec{padding:60px 20px}.hovp-h2{font-size:36px!important}.hovp-cols-2,.hovp-cols-3,.hovp-cols-4{grid-template-columns:1fr}.hovp-track .hovp-card{flex-basis:82%}.hovp-head-row{flex-direction:column;align-items:flex-start}
.hovp-hero{min-height:70vh;padding:0 20px}.hovp-hero-in{padding:140px 0 50px}.hovp-hero-h1{font-size:42px!important}.hovp-gal{grid-template-columns:1fr}.hovp-gi.is-wide{aspect-ratio:3/2}.hovp-cta{padding:64px 20px}.hovp-cta h2{font-size:34px!important}}
/* ---------- Homepage sections (Elementor containers with css classes hovx-*) ---------- */
.hovx-stats{background:#131313!important;padding:46px 24px!important}
.hovx-stats>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:20px!important;max-width:1280px!important}
.hovx-stat{border-right:1px solid rgba(255,255,255,.14);text-align:center;padding:4px 10px!important;gap:6px!important}.hovx-stat:last-child{border-right:0}
.hovx-stat-v .elementor-heading-title{font-family:'Abel',sans-serif!important;font-style:italic!important;font-size:44px!important;line-height:1!important;color:#fff!important;font-weight:400!important}
.hovx-stat-k .elementor-heading-title{font-family:'Abel',sans-serif!important;font-size:13px!important;letter-spacing:.26em!important;text-transform:uppercase!important;color:#d9a3a3!important;font-weight:400!important}
.hovx-sec{padding:100px 24px!important}.hovx-sec>.e-con-inner{max-width:1280px!important}
.hovx-gray{background:#f6f6f6!important}.hovx-dark{background:#131313!important}
.hovx-lbl .elementor-heading-title{font-family:'Abel',sans-serif!important;font-size:13px!important;letter-spacing:.3em!important;text-transform:uppercase!important;color:#990000!important;font-weight:400!important}
.hovx-h2 .elementor-heading-title{font-family:'Abel',sans-serif!important;font-style:italic!important;font-size:48px!important;line-height:1.1!important;color:#131313!important;font-weight:400!important;text-transform:none!important}
.hovx-dark .hovx-h2 .elementor-heading-title{color:#fff!important}.hovx-dark .hovx-lbl .elementor-heading-title{color:#d9a3a3!important}
.hovx-p,.hovx-p p{font-family:'Abel',sans-serif!important;font-size:18px!important;line-height:1.8!important;color:#555!important}.hovx-dark .hovx-p,.hovx-dark .hovx-p p{color:#cfcfcf!important}
.hovx-center{text-align:center}.hovx-center .hovx-p{max-width:760px;margin:0 auto}
.hovx-btn .elementor-button{font-family:'Abel',sans-serif!important;font-size:13px!important;letter-spacing:.22em!important;text-transform:uppercase!important;background:#990000!important;color:#fff!important;border:1px solid #990000!important;border-radius:0!important;padding:16px 28px!important}
.hovx-btn .elementor-button:hover{background:#7a0000!important}
.hovx-btn-o .elementor-button{font-family:'Abel',sans-serif!important;font-size:13px!important;letter-spacing:.22em!important;text-transform:uppercase!important;background:transparent!important;color:#990000!important;border:1px solid #990000!important;border-radius:0!important;padding:16px 28px!important}
.hovx-dark .hovx-btn-o .elementor-button{color:#fff!important;border-color:#fff!important}
.hovx-split>.e-con-inner{display:grid!important;grid-template-columns:1fr 1fr!important;gap:70px!important;align-items:center!important}
.hovx-split.is-rev>.e-con-inner>.e-con:first-child{order:2}
.hovx-ph img{width:100%!important;height:560px!important;object-fit:cover!important;display:block}
.hovx-tiles>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:22px!important}
.hovx-tile{padding:0!important;gap:0!important;background:#fff}
.hovx-tile .hovx-ph img{height:300px!important}
.hovx-tile-b{padding:24px 22px 28px!important;gap:8px!important}
.hovx-tile .elementor-widget-heading .elementor-heading-title{font-family:'Abel',sans-serif!important;font-style:italic!important;font-size:26px!important;color:#131313!important;font-weight:400!important}
.hovx-tile .hovx-p,.hovx-tile .hovx-p p{font-size:16px!important;line-height:1.7!important}
.hovx-tile a.hovx-more,.hovx-more a{font-family:'Abel',sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#990000!important}
.hovx-steps>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:30px!important}
.hovx-step{border-top:2px solid #990000;padding:26px 0 0!important;gap:8px!important}
.hovx-step-n .elementor-heading-title{font-family:'Abel',sans-serif!important;font-style:italic!important;font-size:54px!important;line-height:1!important;color:#990000!important;font-weight:400!important}
.hovx-step-t .elementor-heading-title{font-family:'Abel',sans-serif!important;font-size:20px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#131313!important;font-weight:400!important}
.hovx-addr .elementor-heading-title{font-family:'Abel',sans-serif!important;font-size:16px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#131313!important;font-weight:400!important}
.hovx-btnrow{flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important;padding:0!important}
.hovx-btnrow .elementor-widget{width:auto!important}
@media(max-width:1024px){.hovx-stats>.e-con-inner,.hovx-tiles>.e-con-inner,.hovx-steps>.e-con-inner{grid-template-columns:repeat(2,1fr)!important}.hovx-stat:nth-child(2){border-right:0}.hovx-split>.e-con-inner{grid-template-columns:1fr!important;gap:40px!important}.hovx-split.is-rev>.e-con-inner>.e-con:first-child{order:0}.hovx-ph img{height:420px!important}}
@media(max-width:767px){.hovx-sec{padding:64px 20px!important}.hovx-h2 .elementor-heading-title{font-size:36px!important}.hovx-tiles>.e-con-inner,.hovx-steps>.e-con-inner{grid-template-columns:1fr!important}.hovx-stat-v .elementor-heading-title{font-size:34px!important}.hovx-ph img{height:320px!important}}
/* full-width (no .e-con-inner) variants */
.hovx-tiles.e-con-full,.hovx-steps.e-con-full{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:22px!important;margin-top:30px}
.hovx-steps.e-con-full{gap:30px!important}
.hovx-tile.e-con-full{display:flex!important}
.hovx-stat .elementor-widget-heading{text-align:center}
@media(max-width:1024px){.hovx-tiles.e-con-full,.hovx-steps.e-con-full{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:767px){.hovx-tiles.e-con-full,.hovx-steps.e-con-full{grid-template-columns:1fr!important}}
/* gallery mosaic + shop */
.hovp-intro{font-family:'Abel',sans-serif;font-size:18px;line-height:1.8;color:#555;max-width:760px;margin:0 auto}
.hovp-head.hovp-center .hovp-h2{margin-left:auto!important;margin-right:auto!important}
.hovp-mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;grid-auto-flow:dense}.hovp-mcols-3{grid-template-columns:repeat(3,1fr)}
.hovp-mosaic a{display:block;overflow:hidden;aspect-ratio:1/1;background:#e9e9e9}.hovp-mosaic a:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.hovp-mosaic img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .8s}.hovp-mosaic a:hover img{transform:scale(1.04)}
.hovp-hero-shop{min-height:62vh}
body.hovp-shop .site-content>.ast-container{max-width:100%!important;padding:0!important;display:block!important}
body.hovp-shop #primary{margin:0!important;padding:0!important;width:100%!important}
body.hovp-shop .ast-archive-entry-banner{display:none!important}
body.hovp-shop .ast-woocommerce-container{max-width:1280px;margin:0 auto!important;padding:0 24px!important;float:none!important;width:auto!important}
body.hovp-shop .woocommerce-result-count,body.hovp-shop .woocommerce-ordering{margin-top:50px!important}
body.hovp-shop ul.products{margin-bottom:90px!important;padding-top:10px;clear:both}
body.hovp-shop ul.products li.product .woocommerce-loop-product__title{font-family:'Abel',sans-serif!important;font-size:18px!important;letter-spacing:.08em;color:#131313!important}
body.hovp-shop ul.products li.product .price{font-family:'Abel',sans-serif!important;color:#990000!important;font-size:17px!important}
body.hovp-shop ul.products li.product .button{font-family:'Abel',sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase!important;background:#131313!important;color:#fff!important;border-radius:0!important;font-size:12px!important}
body.hovp-shop ul.products li.product .button:hover{background:#990000!important}
@media(max-width:1024px){.hovp-mosaic{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.hovp-mosaic{grid-template-columns:repeat(2,1fr)}.hovp-hero-shop{min-height:50vh}}
/* contact */
.hovx-top>.e-con-inner{align-items:start!important}
.hovx-ci{margin:22px 0 0!important}.hovx-ci strong{font-weight:400;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:#990000}
.hovx-ci a{color:#131313!important;font-size:22px}
.hovx-formbox{background:#f6f6f6;border-top:2px solid #990000;padding:36px 34px!important;gap:18px!important}
.hovx-form .elementor-field-group>label{font-family:'Abel',sans-serif!important;font-size:12px!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:#131313!important;font-weight:400!important}
.hovx-form .elementor-field-textual,.hovx-form select{font-family:'Abel',sans-serif!important;font-size:17px!important;border:0!important;border-bottom:1px solid #c9c9c9!important;border-radius:0!important;background:#fff!important;padding:12px 14px!important}
.hovx-form .elementor-button{font-family:'Abel',sans-serif!important;font-size:13px!important;letter-spacing:.22em!important;text-transform:uppercase!important;background:#990000!important;border-radius:0!important;padding:17px 30px!important}
.hovx-form .elementor-button:hover{background:#7a0000!important}
/* homepage hero headline: H1 for SEO, keeps the original small-caps look */
body.home h1.elementor-heading-title{text-transform:uppercase!important;letter-spacing:2px!important}
