/* The same stylesheet is loaded on the public site and inside the block editor. */
html { scroll-padding-top: 96px; }
body { margin: 0; }
.lux-site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.97); border-bottom: 1px solid #e2e8f0; box-shadow: 0 5px 24px rgba(11,15,20,.06); }
.admin-bar .lux-site-header { top: 32px; }
.lux-header-inner { width: min(100% - 3rem, 1320px); min-height: 84px; margin: 0 auto; gap: 1.5rem; }
.lux-header-inner .wp-block-site-logo { flex: 0 0 auto; display: flex; align-items: center; }
.lux-header-inner .wp-block-site-logo img { width: auto; height: 68px; max-height: 68px; object-fit: contain; }
.lux-primary-nav { margin-left: auto; }
.lux-primary-nav .wp-block-navigation-item__content { color: #1e293b; font-weight: 700; font-size: .93rem; }
.lux-primary-nav .wp-block-navigation-item__content:hover, .lux-primary-nav .wp-block-navigation-item__content:focus-visible { color: #0e7490; }
.lux-header-cta { flex: 0 0 auto; }
.lux-header-button .wp-block-button__link { padding: .75rem 1.15rem; border-radius: 9999px; background: #0b0f14; color: #fff; font-size: .9rem; font-weight: 700; }
.lux-header-button .wp-block-button__link:hover, .lux-header-button .wp-block-button__link:focus-visible { background: #0e7490; color: #fff; }
/* Suppress account and cart icons in header */
.wp-block-woocommerce-customer-account,
.wp-block-woocommerce-mini-cart,
.wc-block-customer-account,
.wc-block-mini-cart,
.wc-block-customer-account__account-icon,
.lux-header-inner [class*="customer-account"],
.lux-header-inner [class*="mini-cart"] {
  display: none !important;
}
.lux-main { min-height: 45vh; }
.cms-page-wrap--home { overflow-x: clip; width: 100%; }
.cms-page-wrap--home .hero-architectural-block > .section-eyebrow,
.cms-page-wrap--home .hero-architectural-block > .hero-headline,
.cms-page-wrap--home .hero-architectural-block > .hero-lead-text,
.cms-page-wrap--home .hero-architectural-block > .wp-block-buttons {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left;
}
.lux-site-footer { padding: 4rem 0 2rem; background: #0b0f14; color: #d9edf1; }
.lux-site-footer .wp-block-site-logo { margin-bottom: 1.4rem; }
.lux-site-footer .wp-block-site-logo img { background: #fff; border-radius: 10px; height: 68px; max-height: 68px; padding: 4px; object-fit: contain; }
.lux-site-footer .lux-footer-columns { gap: clamp(2rem, 5vw, 5rem); }
.lux-site-footer h3 { color: #fff; font-size: 1.12rem; margin-bottom: 1.1rem; }
.lux-site-footer p { color: #d9edf1; font-size: .93rem; line-height: 1.7; margin: 0 0 .8rem; }
.lux-site-footer a { color: #a7eff8; text-decoration: none; }
.lux-site-footer a:hover, .lux-site-footer a:focus-visible { text-decoration: underline; }
.lux-article { padding-top: 4rem; padding-bottom: 5rem; }
.lux-article > * { max-width: 900px; margin-left: auto; margin-right: auto; }
.lux-article .wp-block-post-title { margin-bottom: 1.8rem; }
.lux-article .wp-block-post-featured-image { margin-bottom: 2rem; }
.lux-article .wp-block-post-featured-image img { border-radius: 24px; }
.lux-projects-waiting { margin: 4rem auto 0; padding: clamp(2rem, 5vw, 4rem); border: 1px solid #e2e8f0; border-radius: 24px; background: #fff; text-align: center; }
.lux-projects-waiting .section-eyebrow { margin-inline: auto; }
.lux-projects-waiting h2 { margin: 0 0 1rem; font-size: clamp(2rem, 4vw, 3.1rem); }
.lux-projects-waiting p:last-child { max-width: 680px; margin: 0 auto; color: #475569; }
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0; }
@media (max-width: 800px) {
  .lux-header-inner { width: min(100% - 2rem, 1320px); min-height: 70px; }
  .lux-header-inner .wp-block-site-logo img { width: auto; height: 52px; max-height: 52px; }
  .lux-header-cta { display: none; }
  .lux-primary-nav { margin-left: auto; }
  .lux-site-footer { padding-top: 3rem; }
  .lux-footer-columns { flex-direction: column; }
}
@media (max-width: 782px) { .admin-bar .lux-site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .lux-site-header { top: 0; } }

/* Service Page: editable Gutenberg layout shared by the site and Site Editor. */
.cms-page-wrap:has(.lux-shower-page) { padding-top: 0; background: #f7fafb; }
.cms-page-wrap:has(.lux-shower-page) > .section-container { max-width: none; padding: 0; }
.lux-shower-page { display: block; }
.lux-shower-page > .wp-block-group { margin-block: 0; padding: clamp(4rem, 7vw, 7rem) max(1.5rem, calc((100vw - 1240px)/2)); }
.lux-shower-page :where(h1,h2,h3) { color: #101d24; letter-spacing: -.035em; text-wrap: balance; }
.lux-shower-page h1 { font-size: clamp(2.75rem, 5.2vw, 5rem); line-height: 1.06; margin: .55rem 0 1.45rem; }
.lux-shower-page h2 { font-size: clamp(2rem, 3.5vw, 3.4rem); line-height: 1.14; margin: .5rem 0 1.2rem; }
.lux-shower-page h3 { font-size: clamp(1.15rem, 1.6vw, 1.45rem); line-height: 1.25; margin: 0 0 .65rem; }
.lux-shower-page p { color: #52616a; font-size: 1rem; line-height: 1.78; margin: 0 0 1.1rem; }
.lux-shower-page .lux-shower-kicker { color: #087c92; font-size: .76rem; font-weight: 800; letter-spacing: .15em; line-height: 1.5; text-transform: uppercase; }
.lux-shower-page .wp-block-buttons { gap: .75rem; margin: 1.8rem 0 0; }
.lux-shower-page .wp-block-button__link { min-height: 48px; border-radius: 999px; padding: .85rem 1.3rem; font-weight: 750; text-decoration: none; background: #0c2029; color: #fff; }
.lux-shower-page .is-style-outline .wp-block-button__link { color: #0c2029; background: transparent; border: 1px solid #9baeb6; }
.lux-shower-page .wp-block-button__link:hover, .lux-shower-page .wp-block-button__link:focus-visible { background: #087c92; color: #fff; border-color: #087c92; }
.lux-shower-page a:focus-visible { outline: 3px solid #00a3c4; outline-offset: 3px; }
.lux-shower-page .wp-block-columns { gap: clamp(1.25rem, 3vw, 3rem); }
.lux-shower-page .wp-block-column { min-width: 0; }
.lux-shower-page img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lux-shower-page figure { overflow: hidden; margin: 0; }
.lux-shower-page figcaption { color: #75858e; font-size: .78rem; line-height: 1.5; margin-top: .65rem; text-align: left; }
.lux-shower-hero { background: #eaf3f4; padding-top: clamp(3rem, 6vw, 6rem) !important; padding-bottom: clamp(3rem, 6vw, 6rem) !important; }
.lux-shower-hero-grid { align-items: center !important; }
.lux-shower-hero-grid > .wp-block-column:first-child { flex-basis: 53%; }
.lux-shower-hero-grid > .wp-block-column:last-child { flex-basis: 47%; }
.lux-shower-hero .lux-shower-lead { color: #3f525b; font-size: 1.1rem; max-width: 640px; }
.lux-shower-hero .lux-shower-note { font-size: .84rem; margin: 1rem 0 0; }
.lux-shower-hero figure { border-radius: 20px; box-shadow: 0 24px 60px rgba(10,32,42,.16); }
.lux-shower-hero figure img { aspect-ratio: 4/5; }
.lux-shower-hero figcaption { padding: 0 .2rem .3rem; }
.lux-shower-intro { background: #fff; text-align: center; }
.lux-shower-intro > :where(h2,p:not(.lux-shower-kicker)) { max-width: 850px; margin-left: auto; margin-right: auto; }
.lux-shower-options { background: #f7fafb; }
.lux-shower-options > :where(h2,p:not(.lux-shower-kicker)) { max-width: 820px; }
.lux-shower-option-grid { margin-top: 2rem; }
.lux-shower-option-grid > .wp-block-column { overflow: hidden; padding: 0 0 1.5rem; background: #fff; border: 1px solid #dce6e9; border-radius: 18px; box-shadow: 0 14px 30px rgba(10,32,42,.055); }
.lux-shower-option-grid figure img { aspect-ratio: 4/3; }
.lux-shower-option-grid figcaption { padding: 0 1.35rem; }
.lux-shower-option-grid h3, .lux-shower-option-grid p { margin-left: 1.35rem; margin-right: 1.35rem; }
.lux-shower-option-grid h3 { margin-top: 1.1rem; }
.lux-shower-option-grid p { font-size: .94rem; margin-bottom: 0; }
.lux-shower-inline-note { margin-top: 1.8rem !important; border-left: 3px solid #00a3c4; padding: .35rem 0 .35rem 1.2rem; background: linear-gradient(90deg,rgba(0,163,196,.055),transparent); }
.lux-shower-audience { background: #10242c; }
.lux-shower-audience :where(h2,p:not(.lux-shower-kicker)) { color: #e7f0f2; }
.lux-shower-page .lux-shower-audience p:not(.lux-shower-kicker), .lux-shower-page .lux-shower-audience h2 { color: #e7f0f2; }
.lux-shower-audience .lux-shower-kicker { color: #7de2ee; }
.lux-shower-split-grid { align-items: center !important; }
.lux-shower-split-grid figure { border-radius: 18px; }
.lux-shower-split-grid figure img { aspect-ratio: 5/4; }
.lux-shower-audience .wp-block-button__link { background: #8ae4ec; color: #10242c; }
.lux-shower-pricing { background: #fff; }
.lux-shower-pricing > :where(h2,p:not(.lux-shower-kicker)) { max-width: 870px; }
.lux-shower-price-grid { margin: 2rem 0; }
.lux-shower-price-grid > .wp-block-column { background: #f2f7f8; padding: 1.55rem; border-radius: 16px; }
.lux-shower-price-grid p { font-size: .94rem; margin-bottom: 0; }
.lux-shower-quote-request { background: #f0f7f8; }
.lux-shower-quote-request > :where(h2,p:not(.lux-shower-kicker)) { max-width: 900px; }
.lux-shower-quote-grid { margin: 2.25rem 0 1.5rem; }
.lux-shower-quote-grid > .wp-block-column { padding: clamp(1.5rem, 3vw, 2.3rem); background: #fff; border: 1px solid #dce8eb; border-radius: 18px; box-shadow: 0 12px 30px rgba(12,32,41,.045); }
.lux-shower-quote-grid .lux-shower-quote-step { color: #087c92; font-size: .75rem; font-weight: 800; letter-spacing: .14em; }
.lux-shower-quote-grid ul { padding-left: 1.2rem; margin: 1rem 0 0; color: #52616a; line-height: 1.75; }
.lux-shower-quote-grid li + li { margin-top: .7rem; }
.lux-shower-quote-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: clamp(1.5rem, 3vw, 2.25rem); background: #dceff1; border-radius: 18px; }
.lux-shower-quote-cta > p { flex: 1 1 45%; margin: 0; color: #253b45; font-weight: 600; }
.lux-shower-quote-cta .wp-block-buttons { flex: 1 1 45%; justify-content: flex-end; margin: 0; }
.lux-shower-process { background: #e9f2f3; }
.lux-shower-process-grid { margin-top: 2rem; }
.lux-shower-process-grid > .wp-block-column { border-top: 2px solid #00a3c4; padding: 1.3rem .4rem 0; }
.lux-shower-process-grid p { font-size: .93rem; }
.lux-shower-faq { background: #fff; }
.lux-shower-faq > :where(h2,h3,p) { max-width: 880px; }
.lux-shower-faq h3 { margin-top: 2rem; }
.lux-shower-faq h3 + p { padding-bottom: 1.5rem; border-bottom: 1px solid #e2e9ec; }
.lux-shower-contact { background: #0c2029; }
.lux-shower-contact :where(h2,p:not(.lux-shower-kicker)) { color: #e6eff1; }
.lux-shower-page .lux-shower-contact p:not(.lux-shower-kicker), .lux-shower-page .lux-shower-contact h2 { color: #e6eff1; }
.lux-shower-contact .lux-shower-kicker { color: #8ae4ec; }
.lux-shower-contact > :where(h2,p:not(.lux-shower-kicker)) { max-width: 900px; }
.lux-shower-contact a { color: #9bebf2; }
.lux-shower-contact .wp-block-button:first-child .wp-block-button__link { background: #8ae4ec; color: #0c2029; }
.lux-shower-contact .is-style-outline .wp-block-button__link { border-color: #8ae4ec; color: #e6eff1; }
@media (max-width: 900px) {
  .lux-shower-page > .wp-block-group { padding-left: 1.5rem; padding-right: 1.5rem; }
  .lux-shower-option-grid { flex-wrap: wrap !important; }
  .lux-shower-option-grid > .wp-block-column { flex: 1 1 calc(50% - 1rem); }
  .lux-shower-process-grid { flex-wrap: wrap !important; }
  .lux-shower-process-grid > .wp-block-column { flex: 1 1 calc(50% - 1rem); }
}
@media (max-width: 650px) {
  .lux-shower-page > .wp-block-group { padding: 3.5rem 1.25rem; }
  .lux-shower-hero-grid, .lux-shower-split-grid, .lux-shower-option-grid, .lux-shower-price-grid, .lux-shower-process-grid { flex-direction: column; }
  .lux-shower-quote-grid, .lux-shower-quote-cta { flex-direction: column; align-items: stretch; }
  .lux-shower-quote-cta .wp-block-buttons { justify-content: stretch; }
  .lux-shower-hero-grid > .wp-block-column, .lux-shower-option-grid > .wp-block-column, .lux-shower-process-grid > .wp-block-column { flex-basis: auto; width: 100%; }
  .lux-shower-hero figure img { aspect-ratio: 4/3; }
  .lux-shower-page .wp-block-button { width: 100%; }
  .lux-shower-page .wp-block-button__link { width: 100%; box-sizing: border-box; }
}

/* ==========================================================================
   Contact & Quote Request Page (lux-contact-page)
   Architectural styling adhering to claude-seo-main standards
   ========================================================================== */
.cms-page-wrap:has(.lux-contact-page) { padding-top: 0; background: #f8fafc; }
.cms-page-wrap:has(.lux-contact-page) > .section-container { max-width: none; padding: 0; }
.lux-contact-page { display: block; }
.lux-contact-page > .wp-block-group { margin-block: 0; padding: clamp(3.5rem, 6vw, 6rem) max(1.5rem, calc((100vw - 1240px)/2)); }
.lux-contact-page :where(h1,h2,h3) { color: #0b0f14; letter-spacing: -.035em; text-wrap: balance; }
.lux-contact-page h1 { font-size: clamp(2.3rem, 4.4vw, 3.8rem); line-height: 1.15; margin: .6rem 0 1.25rem; font-weight: 800; }
.lux-contact-page h2 { font-size: clamp(1.85rem, 3.2vw, 2.6rem); line-height: 1.2; margin: .5rem 0 1.1rem; font-weight: 800; }
.lux-contact-page h3 { font-size: clamp(1.15rem, 1.5vw, 1.35rem); line-height: 1.3; margin: 0 0 .5rem; font-weight: 750; }
.lux-contact-page p { color: #475569; font-size: 1.02rem; line-height: 1.75; margin: 0 0 1rem; }
.lux-contact-page .lux-contact-kicker { color: #00a3c4; font-size: .8rem; font-weight: 800; letter-spacing: .15em; line-height: 1.5; text-transform: uppercase; }

/* Contact Hero */
.lux-contact-hero { background: linear-gradient(180deg, #eaf4f6 0%, #f8fafc 100%); text-align: center; }
.lux-contact-hero-content { max-width: 860px; margin: 0 auto; }
.lux-contact-hero .lux-contact-lead { color: #334155; font-size: 1.15rem; line-height: 1.75; margin: 0 auto 2rem; max-width: 800px; }
.lux-contact-hero .wp-block-buttons { justify-content: center; gap: 1rem; margin-bottom: 2rem; }
.lux-contact-page .wp-block-button__link { min-height: 48px; border-radius: 999px; padding: .85rem 1.6rem; font-weight: 750; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.lux-contact-page .is-style-fill .wp-block-button__link { background: #0b0f14; color: #fff; }
.lux-contact-page .is-style-fill .wp-block-button__link:hover { background: #00a3c4; color: #fff; }
.lux-contact-page .is-style-outline .wp-block-button__link { background: #fff; color: #0b0f14; border: 1px solid #cbd5e1; }
.lux-contact-page .is-style-outline .wp-block-button__link:hover { border-color: #00a3c4; color: #00a3c4; }

/* Stat Highlights Grid */
.lux-contact-stats-grid { margin-top: 2rem; gap: 1.25rem !important; }
.lux-contact-stat-box { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 1.35rem 1.15rem; text-align: center; box-shadow: 0 8px 24px rgba(11,15,20,0.04); }
.lux-contact-stat-box strong { display: block; font-size: 1.2rem; color: #00a3c4; margin-bottom: .25rem; font-weight: 800; }
.lux-contact-stat-box span { font-size: .86rem; color: #64748b; line-height: 1.4; display: block; }

/* Interactive Form & Showroom Grid */
.lux-contact-main-section { background: #ffffff; }
.lux-contact-split-grid { gap: 2.5rem !important; align-items: stretch !important; }
.lux-contact-form-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 24px; padding: clamp(2rem, 4vw, 3rem); box-shadow: 0 16px 40px rgba(11,15,20,0.04); }
.lux-contact-showroom-card { background: #0b0f14; color: #f1f5f9; border-radius: 24px; padding: clamp(2rem, 4vw, 3rem); display: flex; flex-direction: column; justify-content: space-between; }
.lux-contact-showroom-card :where(h2,h3) { color: #ffffff !important; }
.lux-contact-showroom-card p { color: #94a3b8; line-height: 1.7; }
.lux-contact-showroom-card .showroom-badge { display: inline-flex; align-items: center; gap: .5rem; background: rgba(0,163,196,0.18); color: #38bdf8; padding: .4rem .9rem; border-radius: 999px; font-size: .78rem; font-weight: 800; text-transform: uppercase; margin-bottom: 1rem; width: fit-content; }
.lux-contact-showroom-card .showroom-info-group { margin: 1.5rem 0; border-top: 1px solid rgba(255,255,255,0.12); border-bottom: 1px solid rgba(255,255,255,0.12); padding: 1.5rem 0; }
.lux-contact-showroom-card .showroom-info-row { display: flex; flex-direction: column; gap: .25rem; margin-bottom: 1.25rem; }
.lux-contact-showroom-card .showroom-info-row:last-child { margin-bottom: 0; }
.lux-contact-showroom-card .info-label { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #64748b; display: block; font-weight: 700; }
.lux-contact-showroom-card .info-val { color: #f8fafc; font-size: 1.05rem; font-weight: 600; line-height: 1.5; }
.lux-contact-showroom-card .info-val a { color: #38bdf8; text-decoration: none; }
.lux-contact-showroom-card .info-val a:hover { text-decoration: underline; }
.lux-contact-showroom-card .map-cta-box { margin-top: 1.5rem; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 16px; padding: 1.25rem; text-align: center; }

/* Custom Contact Form Markup in WordPress */
.lux-form-field { margin-bottom: 1.2rem; }
.lux-form-field label { display: block; font-size: .9rem; font-weight: 700; color: #1e293b; margin-bottom: .45rem; }
.lux-form-field label .req { color: #ef4444; }
.lux-form-input, .lux-form-select, .lux-form-textarea { width: 100%; padding: .85rem 1.1rem; border: 1px solid #cbd5e1; border-radius: 10px; font-size: .98rem; color: #0f172a; background: #ffffff; box-sizing: border-box; font-family: inherit; transition: border-color .2s, box-shadow .2s; }
.lux-form-input:focus, .lux-form-select:focus, .lux-form-textarea:focus { outline: none; border-color: #00a3c4; box-shadow: 0 0 0 3px rgba(0,163,196,0.18); }
.lux-form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.lux-form-privacy-note { font-size: .82rem !important; color: #64748b !important; line-height: 1.55 !important; margin: 1rem 0 !important; }
.lux-form-submit-btn { width: 100%; padding: 1rem 1.5rem; background: #00a3c4; color: #ffffff; border: none; border-radius: 12px; font-size: 1.05rem; font-weight: 750; cursor: pointer; transition: background .2s, transform .1s; display: inline-flex; align-items: center; justify-content: center; }
.lux-form-submit-btn:hover { background: #0891b2; }

/* 5 Steps Process */
.lux-contact-process-section { background: #f0f7f8; }
.lux-contact-process-section .section-header { text-align: center; max-width: 820px; margin: 0 auto 3rem; }
.lux-contact-process-grid { gap: 1.25rem !important; }
.lux-contact-process-grid > .wp-block-column { background: #ffffff; border-radius: 16px; padding: 1.75rem 1.25rem; border-top: 4px solid #00a3c4; box-shadow: 0 8px 24px rgba(11,15,20,0.03); }
.lux-contact-process-grid .step-num { font-size: 1.6rem; font-weight: 900; color: #00a3c4; margin-bottom: .45rem; line-height: 1; }
.lux-contact-process-grid h3 { font-size: 1.05rem; margin-bottom: .5rem; }
.lux-contact-process-grid p { font-size: .9rem; margin-bottom: 0; line-height: 1.6; color: #475569; }

/* Preparation Checklist */
.lux-contact-prep-section { background: #ffffff; }
.lux-contact-prep-section .section-header { text-align: center; max-width: 820px; margin: 0 auto 2.5rem; }
.lux-contact-prep-grid { gap: 1.75rem !important; }
.lux-contact-prep-grid > .wp-block-column { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 18px; padding: 2rem 1.75rem; }
.lux-contact-prep-grid .prep-icon { width: 44px; height: 44px; border-radius: 12px; background: rgba(0,163,196,0.12); color: #00a3c4; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; font-weight: 800; margin-bottom: 1.2rem; }

/* Service Area Section */
.lux-contact-area-section { background: #f8fafc; }
.lux-contact-area-section .section-header { text-align: center; max-width: 800px; margin: 0 auto 2.5rem; }
.lux-contact-area-grid { gap: 2rem !important; }
.lux-contact-area-grid > .wp-block-column { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 20px; padding: 2.25rem; box-shadow: 0 10px 30px rgba(11,15,20,0.03); }
.lux-contact-area-grid ul { padding-left: 1.25rem; margin: 1rem 0 0; color: #475569; line-height: 1.8; }
.lux-contact-area-grid li + li { margin-top: .4rem; }

/* FAQ Section */
.lux-contact-faq-section { background: #ffffff; }
.lux-contact-faq-section .section-header { text-align: center; max-width: 800px; margin: 0 auto 3rem; }
.lux-contact-faq-item { max-width: 860px; margin: 0 auto 1.5rem; padding: 1.75rem; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; }
.lux-contact-faq-item h3 { margin-bottom: .75rem; color: #0b0f14; font-size: 1.15rem; }
.lux-contact-faq-item p { margin-bottom: 0; color: #475569; line-height: 1.7; }

/* Responsiveness */
@media (max-width: 900px) {
  .lux-contact-split-grid { flex-direction: column !important; }
  .lux-contact-stats-grid { flex-wrap: wrap !important; }
  .lux-contact-stats-grid > .wp-block-column { flex: 1 1 calc(50% - 1rem); }
  .lux-contact-process-grid { flex-wrap: wrap !important; }
  .lux-contact-process-grid > .wp-block-column { flex: 1 1 calc(50% - 1rem); }
  .lux-contact-prep-grid { flex-direction: column !important; }
  .lux-contact-area-grid { flex-direction: column !important; }
}
@media (max-width: 650px) {
  .lux-form-grid-2 { grid-template-columns: 1fr; }
  .lux-contact-hero .wp-block-buttons { flex-direction: column; }
  .lux-contact-page .wp-block-button { width: 100%; }
  .lux-contact-page .wp-block-button__link { width: 100%; }
  .lux-contact-stats-grid > .wp-block-column, .lux-contact-process-grid > .wp-block-column { flex: 1 1 100%; }
}

/* ==========================================================================
   Architectural Product Layout (Keyen Style)
   ========================================================================== */
.lux-product-page {
  padding: clamp(2.5rem, 4vw, 4.5rem) 0;
  background: #f8fafc;
}

.lux-product-page .product {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: clamp(2rem, 3.5vw, 3.5rem) !important;
  align-items: flex-start !important;
  margin-bottom: 3.5rem !important;
}

/* Left Gallery Column */
.lux-product-page .woocommerce-product-gallery {
  flex: 1 1 46% !important;
  min-width: 320px !important;
  margin-bottom: 0 !important;
}

.lux-product-page .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}

.lux-product-page .woocommerce-product-gallery__image {
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(11, 15, 20, 0.05) !important;
  border: 1px solid #e2e8f0 !important;
}

.lux-product-page .woocommerce-product-gallery img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4/5 !important;
  object-fit: cover !important;
}

.lux-product-page .flex-control-thumbs {
  display: flex !important;
  gap: 0.75rem !important;
  margin-top: 1rem !important;
  padding: 0 !important;
  list-style: none !important;
}

.lux-product-page .flex-control-thumbs li {
  flex: 1 !important;
}

.lux-product-page .flex-control-thumbs img {
  border-radius: 10px !important;
  border: 2px solid #e2e8f0 !important;
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
  cursor: pointer !important;
  transition: border-color 0.2s !important;
}

.lux-product-page .flex-control-thumbs img.flex-active,
.lux-product-page .flex-control-thumbs img:hover {
  border-color: #0284c7 !important;
}

/* Right Summary Card */
.lux-product-page .summary.entry-summary {
  flex: 1 1 48% !important;
  min-width: 320px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  padding: clamp(2rem, 3.5vw, 3rem) !important;
  box-shadow: 0 14px 40px rgba(11, 15, 20, 0.04) !important;
}

.lux-product-page .summary .product_title {
  font-size: clamp(1.75rem, 2.5vw, 2.3rem) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.25 !important;
  margin: 0 0 1.5rem !important;
  letter-spacing: -0.025em !important;
}

/* Specs Header */
.lux-specs-header {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: #0284c7 !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 0.85rem !important;
  text-transform: uppercase !important;
}

.lux-specs-header svg {
  color: #0284c7 !important;
}

/* Specs Table */
.lux-specs-box {
  margin-bottom: 1.8rem !important;
}

.lux-specs-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  font-size: 0.92rem !important;
  margin: 0 !important;
}

.lux-specs-table tr:nth-child(odd) {
  background: #f8fbff !important;
}

.lux-specs-table tr:nth-child(even) {
  background: #ffffff !important;
}

.lux-specs-table th {
  padding: 0.8rem 1.1rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  text-align: left !important;
  border-bottom: 1px solid #edf2f7 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  width: 36% !important;
  vertical-align: middle !important;
}

.lux-specs-table td {
  padding: 0.8rem 1.1rem !important;
  color: #334155 !important;
  border-bottom: 1px solid #edf2f7 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  vertical-align: middle !important;
}

.lux-specs-table tr:last-child th,
.lux-specs-table tr:last-child td {
  border-bottom: none !important;
}

/* Action Buttons & Hotline */
.lux-product-cta-group {
  margin-top: 1.5rem !important;
}

.lux-product-btn-row {
  display: flex !important;
  gap: 1rem !important;
  margin-bottom: 1.25rem !important;
}

.lux-btn-call {
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.95rem 1.5rem !important;
  background: #172554 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: 750 !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  box-shadow: 0 4px 14px rgba(23, 37, 84, 0.25) !important;
}

.lux-btn-call:hover {
  background: #0f172a !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.lux-btn-zalo {
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.95rem 1.5rem !important;
  background: #0284c7 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: 750 !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.25) !important;
}

.lux-btn-zalo:hover {
  background: #0369a1 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.lux-product-hotline {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-bottom: 1.75rem !important;
}

.lux-product-hotline a {
  color: #0f172a !important;
  text-decoration: none !important;
}

.lux-product-hotline a:hover {
  color: #0284c7 !important;
}

/* Category & Meta */
.lux-product-page .product_meta {
  border-top: 1px solid #e2e8f0 !important;
  padding-top: 1.25rem !important;
  font-size: 0.85rem !important;
  color: #64748b !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.4rem !important;
}

.lux-product-page .product_meta a {
  color: #0284c7 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.lux-product-page .product_meta a:hover {
  text-decoration: underline !important;
}

/* Tabs & Additional Info */
.lux-product-page .woocommerce-tabs {
  width: 100% !important;
  margin-top: 2rem !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 2.5rem !important;
  box-shadow: 0 10px 30px rgba(11, 15, 20, 0.03) !important;
}

.lux-product-page .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 1rem !important;
  border-bottom: 2px solid #e2e8f0 !important;
  padding: 0 0 0.75rem !important;
  list-style: none !important;
  margin: 0 0 2rem !important;
}

.lux-product-page .woocommerce-tabs ul.tabs li a {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-decoration: none !important;
  padding: 0.5rem 1rem !important;
  border-radius: 8px !important;
}

.lux-product-page .woocommerce-tabs ul.tabs li.active a {
  color: #0284c7 !important;
  background: rgba(2, 132, 199, 0.08) !important;
}

.lux-product-page .woocommerce-tabs .panel {
  font-size: 1rem !important;
  line-height: 1.8 !important;
  color: #334155 !important;
}

.lux-product-page .related.products {
  width: 100% !important;
  margin-top: 4rem !important;
}

.lux-product-page .related.products h2 {
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  margin-bottom: 2rem !important;
  color: #0f172a !important;
}

/* ==========================================================================
   ARCHITECTURAL SINGLE PRODUCT (KEYEN STYLE WITH LUXGLASS BRAND PALETTE)
   ========================================================================== */
.lux-keyen-product-layout {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 1.5rem 1rem 4rem !important;
  box-sizing: border-box !important;
}

/* 1. Breadcrumbs */
.lux-product-breadcrumbs {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  font-size: 0.88rem !important;
  color: #64748b !important;
  margin-bottom: 1.75rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.lux-product-breadcrumbs a {
  color: #64748b !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.lux-product-breadcrumbs a:hover {
  color: #00a3c4 !important;
}

.lux-product-breadcrumbs .bc-sep {
  color: #cbd5e1 !important;
}

.lux-product-breadcrumbs .bc-current {
  color: #0b0f14 !important;
  font-weight: 600 !important;
}

/* 2. Showcase Grid (Left Gallery, Right Spec Card) */
.lux-product-showcase-grid {
  display: grid !important;
  grid-template-columns: 1.05fr 1fr !important;
  gap: 2.25rem !important;
  align-items: start !important;
  margin-bottom: 3rem !important;
}

@media (max-width: 900px) {
  .lux-product-showcase-grid {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
  }
}

/* Left Column: Gallery Card */
.lux-product-gallery-col {
  width: 100% !important;
}

.lux-gallery-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 1rem !important;
  box-shadow: 0 8px 24px rgba(11, 15, 20, 0.04) !important;
  position: relative !important;
}

.lux-gallery-badge {
  position: absolute !important;
  top: 1.5rem !important;
  left: 1.5rem !important;
  z-index: 10 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  background: rgba(11, 15, 20, 0.8) !important;
  backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  padding: 0.35rem 0.75rem !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.lux-watermark-logo {
  height: 14px !important;
  width: auto !important;
}

.lux-main-image-wrap {
  position: relative !important;
  width: 100% !important;
  min-height: 380px !important;
  max-height: 520px !important;
  background: #f8fafc !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.lux-main-image-wrap img {
  width: 100% !important;
  height: 100% !important;
  max-height: 520px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.lux-main-image-wrap:hover img {
  transform: scale(1.02) !important;
}

.lux-zoom-btn {
  position: absolute !important;
  top: 1rem !important;
  right: 1rem !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: #0f172a !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  transition: all 0.2s ease !important;
  z-index: 10 !important;
}

.lux-zoom-btn:hover {
  background: #00a3c4 !important;
  color: #ffffff !important;
  border-color: #00a3c4 !important;
  transform: scale(1.06) !important;
}

.lux-thumbnail-row {
  display: flex !important;
  gap: 0.65rem !important;
  margin-top: 0.85rem !important;
  overflow-x: auto !important;
  padding-bottom: 0.35rem !important;
}

.lux-thumb-item {
  width: 72px !important;
  height: 72px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  border: 2px solid #e2e8f0 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  opacity: 0.7 !important;
  transition: all 0.2s ease !important;
  background: #f8fafc !important;
}

.lux-thumb-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.lux-thumb-item:hover {
  opacity: 1 !important;
  border-color: #00a3c4 !important;
}

.lux-thumb-item.active {
  opacity: 1 !important;
  border-color: #00a3c4 !important;
  box-shadow: 0 0 0 2px rgba(0, 163, 196, 0.25) !important;
}

/* Right Column: Spec Card */
.lux-product-summary-col {
  width: 100% !important;
}

.lux-spec-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 1.75rem 2rem !important;
  box-shadow: 0 8px 24px rgba(11, 15, 20, 0.04) !important;
}

.lux-spec-product-title {
  font-size: 1.65rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  color: #0b0f14 !important;
  margin: 0 0 1.25rem 0 !important;
}

@media (max-width: 640px) {
  .lux-spec-product-title {
    font-size: 1.4rem !important;
  }
}

.lux-spec-section-header {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #00a3c4 !important;
  margin-bottom: 0.85rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 2px solid rgba(0, 163, 196, 0.15) !important;
}

.lux-spec-section-header svg {
  color: #00a3c4 !important;
}

.lux-specs-table-container {
  margin-bottom: 1.5rem !important;
}

.lux-keyen-table,
.lux-custom-specs-table table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  font-size: 0.92rem !important;
  margin: 0 !important;
}

.lux-keyen-table tr:nth-child(odd),
.lux-custom-specs-table table tr:nth-child(odd) {
  background: #f8fbff !important;
}

.lux-keyen-table tr:nth-child(even),
.lux-custom-specs-table table tr:nth-child(even) {
  background: #ffffff !important;
}

.lux-keyen-table th,
.lux-custom-specs-table table th {
  padding: 0.75rem 1rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  text-align: left !important;
  border-bottom: 1px solid #edf2f7 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  width: 38% !important;
  vertical-align: middle !important;
}

.lux-keyen-table td,
.lux-custom-specs-table table td {
  padding: 0.75rem 1rem !important;
  color: #334155 !important;
  border-bottom: 1px solid #edf2f7 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  vertical-align: middle !important;
}

.lux-keyen-table tr:last-child th,
.lux-keyen-table tr:last-child td,
.lux-custom-specs-table table tr:last-child th,
.lux-custom-specs-table table tr:last-child td {
  border-bottom: none !important;
}

/* Call & Zalo Action Buttons */
.lux-product-action-buttons {
  display: flex !important;
  gap: 0.85rem !important;
  margin-top: 1.25rem !important;
  margin-bottom: 1rem !important;
}

@media (max-width: 480px) {
  .lux-product-action-buttons {
    flex-direction: column !important;
  }
}

.lux-cta-btn {
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.85rem 1.4rem !important;
  border-radius: 999px !important;
  font-weight: 750 !important;
  font-size: 0.98rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.lux-cta-call {
  background: #0b0f14 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(11, 15, 20, 0.25) !important;
}

.lux-cta-call:hover {
  background: #1e293b !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.lux-cta-zalo {
  background: linear-gradient(135deg, #00a3c4 0%, #0284c7 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 163, 196, 0.3) !important;
}

.lux-cta-zalo:hover {
  background: linear-gradient(135deg, #0891b2 0%, #0369a1 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.lux-hotline-highlight {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #0b0f14 !important;
  margin-bottom: 1.5rem !important;
}

.lux-hotline-highlight a {
  color: #00a3c4 !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

.lux-hotline-highlight a:hover {
  text-decoration: underline !important;
}

/* Product Meta */
.lux-spec-meta {
  border-top: 1px solid #e2e8f0 !important;
  padding-top: 1.1rem !important;
  font-size: 0.86rem !important;
  color: #64748b !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
}

.lux-spec-meta .meta-row {
  display: flex !important;
  gap: 0.4rem !important;
}

.lux-spec-meta .meta-label {
  color: #94a3b8 !important;
}

.lux-spec-meta .meta-val {
  color: #334155 !important;
  font-weight: 500 !important;
}

.lux-spec-meta .meta-val a {
  color: #00a3c4 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.lux-spec-meta .meta-val a:hover {
  text-decoration: underline !important;
}

/* 3. Detailed Tabs */
.lux-product-tabs-section {
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 2rem 2.25rem !important;
  box-shadow: 0 8px 24px rgba(11, 15, 20, 0.03) !important;
  margin-bottom: 3.5rem !important;
}

.lux-tabs-nav {
  display: flex !important;
  gap: 0.75rem !important;
  border-bottom: 2px solid #e2e8f0 !important;
  padding-bottom: 0.75rem !important;
  margin-bottom: 1.75rem !important;
  overflow-x: auto !important;
}

.lux-tab-btn {
  background: transparent !important;
  border: none !important;
  padding: 0.6rem 1.25rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #64748b !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.lux-tab-btn:hover {
  color: #00a3c4 !important;
  background: rgba(0, 163, 196, 0.05) !important;
}

.lux-tab-btn.active {
  color: #00a3c4 !important;
  background: rgba(0, 163, 196, 0.1) !important;
}

.lux-tab-panel {
  display: none !important;
}

.lux-tab-panel.active {
  display: block !important;
}

.lux-product-description-content {
  font-size: 0.98rem !important;
  line-height: 1.8 !important;
  color: #334155 !important;
}

.lux-product-description-content h3 {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #0b0f14 !important;
  margin: 0 0 1rem 0 !important;
}

.lux-product-description-content ul,
.lux-product-description-content ol {
  margin: 1rem 0 1rem 1.5rem !important;
  padding: 0 !important;
}

.lux-product-description-content li {
  margin-bottom: 0.5rem !important;
}

.lux-product-description-content strong {
  color: #0b0f14 !important;
}

/* 4. Related Products */
.lux-related-products-section {
  width: 100% !important;
}

.lux-related-title {
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  color: #0b0f14 !important;
  margin-bottom: 1.75rem !important;
}

.lux-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}

@media (max-width: 800px) {
  .lux-related-grid {
    grid-template-columns: 1fr !important;
  }
}

.lux-related-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  padding: 1rem !important;
  box-shadow: 0 4px 16px rgba(11, 15, 20, 0.03) !important;
  transition: all 0.25s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

.lux-related-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(11, 15, 20, 0.08) !important;
  border-color: rgba(0, 163, 196, 0.4) !important;
}

.lux-related-thumb {
  width: 100% !important;
  height: 200px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #f8fafc !important;
  display: block !important;
  margin-bottom: 1rem !important;
}

.lux-related-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.lux-related-card:hover .lux-related-thumb img {
  transform: scale(1.04) !important;
}

.lux-related-item-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 0.85rem 0 !important;
  flex-grow: 1 !important;
}

.lux-related-item-title a {
  color: #0b0f14 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.lux-related-item-title a:hover {
  color: #00a3c4 !important;
}

.lux-related-link {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #00a3c4 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  transition: color 0.15s ease !important;
}

.lux-related-link:hover {
  color: #0284c7 !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   SERVICES OVERVIEW PAGE (UI/UX PRO MAX ARCHITECTURAL SPECIFICATION)
   ========================================================================== */
.lux-services-page-wrap {
  width: 100% !important;
  background: #fbfcfd !important;
  padding: 0 !important;
}

.lux-services-page {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 1.5rem 1.25rem 5rem !important;
  box-sizing: border-box !important;
}

/* 1. Breadcrumbs */
.lux-breadcrumbs {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  font-size: 0.88rem !important;
  color: #64748b !important;
  margin-bottom: 2rem !important;
}

.lux-breadcrumbs a {
  color: #64748b !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.lux-breadcrumbs a:hover {
  color: #00a3c4 !important;
}

.lux-breadcrumbs .sep {
  color: #cbd5e1 !important;
}

.lux-breadcrumbs .current {
  color: #0b0f14 !important;
  font-weight: 600 !important;
}

/* 2. Hero Section - UI/UX Pro Max Architectural Glassmorphic Design */
.lux-hero-cover-banner {
  border-radius: 28px !important;
  overflow: hidden !important;
  margin-bottom: 2.5rem !important;
  box-shadow: 0 20px 50px rgba(11, 15, 20, 0.18) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  position: relative !important;
}

.lux-hero-cover-banner .wp-block-cover__inner-container {
  padding: clamp(2.5rem, 5vw, 4.5rem) 1.5rem !important;
  text-align: center !important;
  color: #ffffff !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 1060px !important;
  margin: 0 auto !important;
}

/* Glassmorphic Container Card for Optimal Text Contrast & Architectural Luxury */
.lux-hero-glass-card {
  background: rgba(11, 15, 20, 0.74) !important;
  backdrop-filter: blur(24px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(170%) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 26px !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3.5rem) !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.lux-hero-cover-banner .lux-badge-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  background: rgba(0, 180, 216, 0.15) !important;
  color: #00e5ff !important;
  border: 1px solid rgba(0, 229, 255, 0.4) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  padding: 0.45rem 1.25rem !important;
  border-radius: 9999px !important;
  font-size: 0.82rem !important;
  font-weight: 750 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 4px 14px rgba(0, 229, 255, 0.12) !important;
}

.lux-hero-cover-banner .kicker-pulse {
  width: 8px !important;
  height: 8px !important;
  background: #00e5ff !important;
  border-radius: 50% !important;
  display: inline-block !important;
  box-shadow: 0 0 10px #00e5ff !important;
  animation: kickerPulseGlow 2s infinite ease-in-out !important;
}

@keyframes kickerPulseGlow {
  0%, 100% { transform: scale(1); box-shadow: 0 0 6px #00e5ff; }
  50% { transform: scale(1.3); box-shadow: 0 0 14px #00e5ff; }
}

.lux-hero-cover-banner .lux-services-h1 {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(2.1rem, 4.2vw, 3.3rem) !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  color: #ffffff !important;
  margin: 0 0 1.35rem 0 !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
}

.lux-hero-cover-banner .lux-cyan-gradient-text {
  background: linear-gradient(135deg, #38bdf8 0%, #00e5ff 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 2px 10px rgba(0, 229, 255, 0.35)) !important;
}

.lux-hero-cover-banner .lux-services-lead {
  color: #e2e8f0 !important;
  font-size: clamp(1rem, 1.4vw, 1.12rem) !important;
  line-height: 1.8 !important;
  max-width: 820px !important;
  margin: 0 auto 2.25rem auto !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  font-weight: 400 !important;
}

.lux-services-hero {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  padding: 3.5rem 3rem !important;
  box-shadow: 0 10px 30px rgba(11, 15, 20, 0.03) !important;
  margin-bottom: 2.5rem !important;
}

@media (max-width: 768px) {
  .lux-services-hero {
    padding: 2.25rem 1.5rem !important;
  }
}

.lux-badge-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  background: rgba(0, 163, 196, 0.08) !important;
  color: #00a3c4 !important;
  padding: 0.4rem 0.95rem !important;
  border-radius: 999px !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 1.25rem !important;
}

.kicker-pulse {
  width: 8px !important;
  height: 8px !important;
  background: #00a3c4 !important;
  border-radius: 50% !important;
  display: inline-block !important;
  box-shadow: 0 0 0 3px rgba(0, 163, 196, 0.25) !important;
}

.lux-services-h1 {
  font-size: clamp(2.1rem, 4vw, 3.2rem) !important;
  font-weight: 850 !important;
  line-height: 1.22 !important;
  color: #0b0f14 !important;
  margin: 0 0 1.25rem 0 !important;
  letter-spacing: -0.02em !important;
}

.lux-cyan-gradient-text {
  background: linear-gradient(135deg, #00a3c4 0%, #0284c7 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.lux-services-lead {
  font-size: 1.08rem !important;
  line-height: 1.8 !important;
  color: #334155 !important;
  max-width: 920px !important;
  margin: 0 0 2.25rem 0 !important;
}

.lux-hero-actions {
  display: flex !important;
  gap: 1.25rem !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin-bottom: 1rem !important;
}

/* UI/UX Pro Max: Fix Gutenberg Block Button Double-Wrapper Nesting */
.wp-block-button.lux-btn-primary,
.wp-block-button.lux-btn-secondary {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  display: inline-flex !important;
}

.wp-block-button.lux-btn-primary .wp-block-button__link,
a.lux-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  background: linear-gradient(135deg, #00b4d8 0%, #0077b6 100%) !important;
  color: #ffffff !important;
  padding: 0.85rem 1.85rem !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-size: 0.98rem !important;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 8px 24px rgba(0, 180, 216, 0.35) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}

.wp-block-button.lux-btn-primary .wp-block-button__link:hover,
a.lux-btn-primary:hover {
  background: linear-gradient(135deg, #00c6eb 0%, #0096c7 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 30px rgba(0, 180, 216, 0.5) !important;
  color: #ffffff !important;
}

.wp-block-button.lux-btn-secondary .wp-block-button__link,
a.lux-btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  color: #ffffff !important;
  padding: 0.85rem 1.85rem !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-size: 0.98rem !important;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}

.wp-block-button.lux-btn-secondary .wp-block-button__link:hover,
a.lux-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  transform: translateY(-2px) !important;
  color: #ffffff !important;
}

/* Trust Metrics Grid */
.lux-trust-metrics-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  border-top: 1px solid #edf2f7 !important;
  padding-top: 2rem !important;
}

@media (max-width: 992px) {
  .lux-trust-metrics-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 540px) {
  .lux-trust-metrics-grid {
    grid-template-columns: 1fr !important;
  }
}

.lux-trust-metric-card {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
}

.metric-icon-wrap {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  background: rgba(0, 163, 196, 0.1) !important;
  color: #00a3c4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.metric-info strong {
  display: block !important;
  font-size: 0.96rem !important;
  font-weight: 750 !important;
  color: #0b0f14 !important;
}

.metric-info span {
  display: block !important;
  font-size: 0.82rem !important;
  color: #64748b !important;
}

/* 3. Filter Bar */
.lux-services-filter-bar {
  margin-bottom: 2.25rem !important;
}

.lux-filter-inner {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

.filter-label {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #64748b !important;
}

.filter-chips-list {
  display: flex !important;
  gap: 0.65rem !important;
  overflow-x: auto !important;
  padding-bottom: 0.25rem !important;
}

.lux-filter-chip {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  padding: 0.55rem 1.25rem !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  color: #475569 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.lux-filter-chip:hover {
  border-color: #00a3c4 !important;
  color: #00a3c4 !important;
}

.lux-filter-chip.active {
  background: #0b0f14 !important;
  color: #ffffff !important;
  border-color: #0b0f14 !important;
  box-shadow: 0 4px 12px rgba(11, 15, 20, 0.15) !important;
}

/* 4. Bento Grid Section */
.lux-services-bento-section {
  margin-bottom: 4.5rem !important;
}

/* Flagship Card */
.lux-bento-flagship {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(11, 15, 20, 0.04) !important;
  margin-bottom: 2rem !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.lux-bento-flagship:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 45px rgba(11, 15, 20, 0.08) !important;
  border-color: rgba(0, 163, 196, 0.4) !important;
}

@media (max-width: 900px) {
  .lux-bento-flagship {
    grid-template-columns: 1fr !important;
  }
}

.lux-flagship-media-col {
  position: relative !important;
  min-height: 420px !important;
  overflow: hidden !important;
  background: #f1f5f9 !important;
}

.lux-flagship-media-col img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

.lux-bento-flagship:hover .lux-flagship-media-col img {
  transform: scale(1.03) !important;
}

.lux-flagship-badge {
  position: absolute !important;
  top: 1.5rem !important;
  left: 1.5rem !important;
  background: rgba(11, 15, 20, 0.85) !important;
  backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  padding: 0.4rem 0.95rem !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

.badge-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #00a3c4 !important;
}

.lux-flagship-content-col {
  padding: 3rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

@media (max-width: 768px) {
  .lux-flagship-content-col {
    padding: 2rem 1.5rem !important;
  }
}

.lux-card-kicker {
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  color: #00a3c4 !important;
  text-transform: uppercase !important;
  margin-bottom: 0.6rem !important;
}

.lux-card-h2 {
  font-size: clamp(1.5rem, 2.5vw, 1.95rem) !important;
  font-weight: 850 !important;
  line-height: 1.3 !important;
  margin: 0 0 1rem 0 !important;
}

.lux-card-h2 a {
  color: #0b0f14 !important;
  text-decoration: none !important;
}

.lux-card-h2 a:hover {
  color: #00a3c4 !important;
}

.lux-card-desc {
  font-size: 0.98rem !important;
  line-height: 1.7 !important;
  color: #475569 !important;
  margin: 0 0 1.5rem 0 !important;
}

.lux-spec-checklist {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  margin-bottom: 2rem !important;
}

.check-item {
  display: flex !important;
  gap: 0.65rem !important;
  align-items: flex-start !important;
  font-size: 0.93rem !important;
  line-height: 1.55 !important;
  color: #334155 !important;
}

.check-item svg {
  flex-shrink: 0 !important;
  margin-top: 3px !important;
}

.lux-card-btn-row {
  display: flex !important;
  gap: 0.85rem !important;
  flex-wrap: wrap !important;
}

.lux-btn-card-primary {
  background: linear-gradient(135deg, #00a3c4 0%, #0284c7 100%) !important;
  color: #ffffff !important;
  padding: 0.85rem 1.6rem !important;
  border-radius: 999px !important;
  font-weight: 750 !important;
  font-size: 0.93rem !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 163, 196, 0.25) !important;
  transition: all 0.2s ease !important;
}

.lux-btn-card-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 163, 196, 0.35) !important;
}

.lux-btn-card-outline {
  border: 1.5px solid #cbd5e1 !important;
  color: #0b0f14 !important;
  padding: 0.85rem 1.5rem !important;
  border-radius: 999px !important;
  font-weight: 750 !important;
  font-size: 0.93rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.lux-btn-card-outline:hover {
  border-color: #00a3c4 !important;
  color: #00a3c4 !important;
}

/* Subgrid for other cards */
.lux-bento-subgrid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 2rem !important;
}

@media (max-width: 800px) {
  .lux-bento-subgrid {
    grid-template-columns: 1fr !important;
  }
}

.lux-bento-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 6px 20px rgba(11, 15, 20, 0.03) !important;
  transition: all 0.25s ease !important;
}

.lux-bento-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(11, 15, 20, 0.07) !important;
  border-color: rgba(0, 163, 196, 0.35) !important;
}

.lux-card-top-media {
  position: relative !important;
  height: 230px !important;
  overflow: hidden !important;
  background: #f1f5f9 !important;
}

.lux-card-top-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.35s ease !important;
}

.lux-bento-card:hover .lux-card-top-media img {
  transform: scale(1.04) !important;
}

.lux-sub-badge {
  position: absolute !important;
  top: 1rem !important;
  left: 1rem !important;
  background: rgba(11, 15, 20, 0.8) !important;
  backdrop-filter: blur(6px) !important;
  color: #ffffff !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  padding: 0.35rem 0.75rem !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.lux-card-body {
  padding: 2rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.lux-sub-h3 {
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: #0b0f14 !important;
  margin: 0.3rem 0 0.85rem 0 !important;
  line-height: 1.35 !important;
}

.lux-sub-desc {
  font-size: 0.94rem !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  margin: 0 0 1.25rem 0 !important;
}

.lux-sub-specs {
  margin: 0 0 1.5rem 1.2rem !important;
  padding: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.6 !important;
  color: #334155 !important;
}

.lux-sub-specs li {
  margin-bottom: 0.4rem !important;
}

.lux-sub-footer {
  margin-top: auto !important;
  padding-top: 1rem !important;
  border-top: 1px solid #f1f5f9 !important;
}

.lux-sub-link {
  font-size: 0.92rem !important;
  font-weight: 750 !important;
  color: #00a3c4 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.lux-sub-link:hover {
  color: #0284c7 !important;
  text-decoration: underline !important;
}

/* 5. Process Section */
.lux-services-process-section {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  padding: 4rem 3rem !important;
  box-shadow: 0 10px 30px rgba(11, 15, 20, 0.03) !important;
  margin-bottom: 4.5rem !important;
}

@media (max-width: 768px) {
  .lux-services-process-section {
    padding: 2.5rem 1.5rem !important;
  }
}

.lux-section-header-center {
  text-align: center !important;
  max-width: 740px !important;
  margin: 0 auto 3rem !important;
}

.lux-section-h2 {
  font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
  font-weight: 850 !important;
  color: #0b0f14 !important;
  margin: 0.5rem 0 1rem 0 !important;
  line-height: 1.3 !important;
}

.lux-section-sub {
  font-size: 1.02rem !important;
  color: #475569 !important;
  line-height: 1.7 !important;
}

.lux-process-steps-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 1.25rem !important;
}

@media (max-width: 1024px) {
  .lux-process-steps-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .lux-process-steps-grid {
    grid-template-columns: 1fr !important;
  }
}

.lux-step-card {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 1.75rem 1.35rem !important;
  display: flex !important;
  flex-direction: column !important;
  transition: all 0.25s ease !important;
}

.lux-step-card:hover {
  background: #ffffff !important;
  border-color: #00a3c4 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 24px rgba(0, 163, 196, 0.1) !important;
}

.lux-step-num {
  font-size: 2.2rem !important;
  font-weight: 900 !important;
  font-family: monospace, sans-serif !important;
  color: #00a3c4 !important;
  line-height: 1 !important;
  margin-bottom: 1.1rem !important;
}

.lux-step-content h4 {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #0b0f14 !important;
  margin: 0 0 0.65rem 0 !important;
}

.lux-step-content p {
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  margin: 0 !important;
}

/* 6. Materials Section */
.lux-services-materials-section {
  margin-bottom: 4.5rem !important;
}

.lux-materials-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.75rem !important;
}

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

.lux-mat-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 2.25rem !important;
  box-shadow: 0 8px 24px rgba(11, 15, 20, 0.03) !important;
  display: flex !important;
  flex-direction: column !important;
}

.mat-badge {
  display: inline-block !important;
  align-self: flex-start !important;
  background: rgba(0, 163, 196, 0.1) !important;
  color: #00a3c4 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  padding: 0.35rem 0.75rem !important;
  border-radius: 6px !important;
  margin-bottom: 1.1rem !important;
}

.lux-mat-card h3 {
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: #0b0f14 !important;
  margin: 0 0 0.85rem 0 !important;
}

.lux-mat-card p {
  font-size: 0.93rem !important;
  line-height: 1.7 !important;
  color: #475569 !important;
  margin: 0 0 1.5rem 0 !important;
}

.mat-highlight {
  margin-top: auto !important;
  padding-top: 1rem !important;
  border-top: 1px dashed #e2e8f0 !important;
  font-size: 0.88rem !important;
  font-weight: 750 !important;
  color: #0b0f14 !important;
}

/* 7. FAQ Section */
.lux-services-faq-section {
  max-width: 920px !important;
  margin: 0 auto 5rem !important;
}

.lux-faq-accordion {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

.lux-faq-item {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease !important;
}

.lux-faq-item[open] {
  border-color: #00a3c4 !important;
  box-shadow: 0 4px 16px rgba(0, 163, 196, 0.08) !important;
}

.lux-faq-q {
  padding: 1.25rem 1.6rem !important;
  font-size: 1.05rem !important;
  font-weight: 750 !important;
  color: #0b0f14 !important;
  cursor: pointer !important;
  user-select: none !important;
  outline: none !important;
  list-style: none !important;
}

.lux-faq-q::-webkit-details-marker {
  display: none !important;
}

.lux-faq-a {
  padding: 0 1.6rem 1.4rem !important;
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
  color: #475569 !important;
}

.lux-faq-a strong {
  color: #0b0f14 !important;
}

/* 8. CTA Banner */
.lux-services-cta-banner {
  margin-bottom: 2rem !important;
}

.lux-cta-banner-card {
  background: linear-gradient(135deg, #0b0f14 0%, #0f172a 50%, #172554 100%) !important;
  border-radius: 28px !important;
  padding: 4.5rem 3rem !important;
  color: #ffffff !important;
  text-align: center !important;
  box-shadow: 0 20px 50px rgba(11, 15, 20, 0.2) !important;
}

@media (max-width: 768px) {
  .lux-cta-banner-card {
    padding: 3rem 1.5rem !important;
  }
}

.lux-cta-content {
  max-width: 780px !important;
  margin: 0 auto !important;
}

.lux-cta-badge {
  display: inline-block !important;
  background: rgba(0, 163, 196, 0.15) !important;
  border: 1px solid rgba(0, 163, 196, 0.4) !important;
  color: #38bdf8 !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  padding: 0.35rem 0.95rem !important;
  border-radius: 999px !important;
  margin-bottom: 1.25rem !important;
}

.lux-cta-h2 {
  font-size: clamp(1.9rem, 3.5vw, 2.7rem) !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  margin: 0 0 1.1rem 0 !important;
}

.lux-cta-desc {
  font-size: 1.05rem !important;
  color: #cbd5e1 !important;
  line-height: 1.75 !important;
  margin: 0 0 2.25rem 0 !important;
}

.lux-cta-buttons {
  display: flex !important;
  justify-content: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
  margin-bottom: 2rem !important;
}

.lux-btn-cta-phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  background: #00a3c4 !important;
  color: #ffffff !important;
  padding: 1rem 2rem !important;
  border-radius: 999px !important;
  font-weight: 750 !important;
  font-size: 1.02rem !important;
  text-decoration: none !important;
  box-shadow: 0 6px 20px rgba(0, 163, 196, 0.35) !important;
  transition: all 0.2s ease !important;
}

.lux-btn-cta-phone:hover {
  background: #0891b2 !important;
  transform: translateY(-2px) !important;
}

.lux-btn-cta-zalo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  padding: 1rem 2rem !important;
  border-radius: 999px !important;
  font-weight: 750 !important;
  font-size: 1.02rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.lux-btn-cta-zalo:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  transform: translateY(-2px) !important;
}

.lux-cta-meta-notes {
  font-size: 0.85rem !important;
  color: #94a3b8 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
}

.lux-cta-meta-notes .dot {
  color: #64748b !important;
}




/* Giao diện Hero gọn bên trái, trong suốt & ẩn giỏ hàng */
.lux-hero-cover-banner .wp-block-cover__inner-container {
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3.5rem) !important;
  text-align: left !important;
  color: #ffffff !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: flex-start !important;
}
.lux-hero-glass-card {
  background: rgba(11, 15, 20, 0.42) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 22px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  padding: clamp(1.75rem, 3vw, 2.5rem) clamp(1.5rem, 2.8vw, 2.25rem) !important;
  max-width: 560px !important;
  margin: 0 !important;
  text-align: left !important;
}
.lux-hero-cover-banner .wp-block-cover__background {
  opacity: 0.32 !important;
}
.lux-hero-cover-banner .lux-services-h1 {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(1.5rem, 2.4vw, 2.15rem) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: #ffffff !important;
  margin: 0 0 0.85rem 0 !important;
  letter-spacing: -0.015em !important;
  text-align: left !important;
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.5) !important;
}
.lux-hero-cover-banner .lux-services-lead {
  color: #e2e8f0 !important;
  font-size: 0.94rem !important;
  line-height: 1.65 !important;
  max-width: 500px !important;
  margin: 0 0 1.5rem 0 !important;
  text-align: left !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
  font-weight: 400 !important;
}
.lux-hero-cover-banner .lux-hero-actions {
  display: flex !important;
  gap: 0.85rem !important;
  justify-content: flex-start !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin-bottom: 0 !important;
}
@media (max-width: 768px) {
  .lux-hero-cover-banner .wp-block-cover__inner-container {
    justify-content: center !important;
    text-align: center !important;
    padding: 2.5rem 1rem !important;
  }
  .lux-hero-glass-card {
    margin: 0 auto !important;
    text-align: center !important;
    max-width: 100% !important;
  }
  .lux-hero-cover-banner .lux-services-h1 { text-align: center !important; }
  .lux-hero-cover-banner .lux-services-lead { text-align: center !important; margin-inline: auto !important; }
  .lux-hero-cover-banner .lux-hero-actions { justify-content: center !important; }
}
.wp-block-woocommerce-customer-account,
.wp-block-woocommerce-mini-cart,
.wc-block-customer-account,
.wc-block-mini-cart,
.wc-block-customer-account__account-icon,
.lux-header-inner [class*="customer-account"],
.lux-header-inner [class*="mini-cart"] {
  display: none !important;
}
