/* Navibiz responsive hardening — loaded last across every frontend route. */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:clip}
.su-site-main,.su-site-main>*{min-width:0}
.su-site-main img,.su-site-main svg,.su-site-main video,.su-site-main canvas{max-width:100%;height:auto}
.su-site-main iframe{display:block;max-width:100%;border:0}
.su-site-main pre,.su-site-main code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
.su-site-main p,.su-site-main li,.su-site-main a,.su-site-main h1,.su-site-main h2,.su-site-main h3,.su-site-main h4,.su-service-price,.woocommerce-Price-amount{overflow-wrap:anywhere}
.su-site-main input,.su-site-main select,.su-site-main textarea,.su-site-main button{max-width:100%}
.su-site-main table{max-width:100%}
.su-brand-mark{width:208px;height:50px;flex:0 0 208px}
.su-brand-mark svg{width:100%;height:100%}

/* Prevent grid and flex children from forcing the viewport wider. */
.su-header-inner>*,.su-footer-main>*,.su-hero>*,.su-section-head>*,.su-showcase-head>*,
.su-market-title-row>*,.su-catalog-section-head>*,.su-service-hero>*,
.su-detail-layout>*,.su-detail-main>*,.su-detail-sidebar>*,
.nb-blog-hero>*,.nb-section-head>*,.nb-article-layout>*,
.su-contact-grid>*,.su-info-cta>*,.su-about-intro>*,.su-about-card-grid>*,
.woocommerce .row>*,.woocommerce form>*{min-width:0}

/* Long breadcrumb trails, chips and filters stay inside the layout. */
.su-category-breadcrumbs,.su-service-breadcrumbs,.nb-breadcrumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:7px 9px;max-width:100%
}
.su-market-filters,.nb-category-filter,.su-faq-jump{
  max-width:100%;scrollbar-width:thin
}
.su-service-taxonomy,.su-service-badges,.su-actions{max-width:100%}
.su-service-tabs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.su-service-tabs a{flex:0 0 auto;white-space:nowrap}

/* Forms and legal/editorial content. */
.su-page-content fieldset,.su-contact-form fieldset{min-width:0!important;max-width:100%!important}
.su-contact-form .ff-el-group,.su-contact-form .ff-el-input--content{min-width:0;max-width:100%}
.su-contact-form input:not([type="checkbox"]):not([type="radio"]),
.su-contact-form textarea,.su-contact-form select{width:100%!important}
.su-single-content table,.nb-article-content table,
.su-page-content>table,.su-page-content .wp-block-table{
  display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch
}
.su-page-content .wp-block-table table{display:table;min-width:600px}
.su-page-content .alignwide,.su-page-content .alignfull{max-width:100%;margin-left:0;margin-right:0}

/* WooCommerce shared resilience: products, cart, checkout and account. */
.woocommerce,.woocommerce-page,.nk-store,.nk-store-checkout{min-width:0;max-width:100%}
.woocommerce table.shop_table{width:100%;max-width:100%;table-layout:auto}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{overflow-wrap:anywhere}
.woocommerce .quantity,.woocommerce .quantity input{max-width:100%}
.woocommerce form .form-row,.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,.woocommerce form .form-row select{max-width:100%;width:100%}
.woocommerce .woocommerce-error,.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{
  max-width:100%;overflow-wrap:anywhere
}
body.woocommerce-account .su-page-content>.woocommerce{width:100%;max-width:1040px;margin:0 auto}
body.woocommerce-account .nk-store-checkout{width:100%}
body.woocommerce-account #customer_login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0}
body.woocommerce-account #customer_login>.col-md-6{width:auto;max-width:none;padding:0}
body.woocommerce-account .nk-box-3{height:100%;padding:30px;border:1px solid var(--su-border);border-radius:16px;background:var(--su-surface)}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none}
body.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:10px 13px;border:1px solid var(--su-border);border-radius:8px}
body.woocommerce-account .woocommerce-MyAccount-content{min-width:0;width:100%}

/* Desktop-to-tablet refinements. */
@media (max-width:1100px){
  .su-footer-main{grid-template-columns:1.25fr repeat(2,minmax(150px,.75fr));gap:32px}
  .su-footer-action{grid-column:1/-1}
  .su-market>.row.no-gutters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .su-directions-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .su-solutions-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Tablet and mobile layout. */
@media (max-width:760px){
  :root{--su-container-gutter:16px;--su-page-gap:36px}
  .su-site-main{padding-right:var(--su-container-gutter);padding-left:var(--su-container-gutter)}
  .su-header-inner,.su-footer-inner{width:100%;padding-inline:16px}
  .su-header-inner{gap:10px}
  .su-brand-mark{width:150px;height:36px;flex-basis:150px}
  .su-header-actions{gap:8px}
  .su-mobile-panel{position:fixed;top:calc(var(--su-header-height) + 8px);right:14px;left:14px;width:auto;max-height:calc(100dvh - var(--su-header-height) - 24px);overflow-y:auto}
  .admin-bar .su-mobile-panel{top:calc(var(--su-header-height) + 54px)}
  .su-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;padding:42px 0 30px}
  .su-footer-brand,.su-footer-action{grid-column:1/-1}
  .su-footer-action{padding:18px}
  .su-footer-bottom{min-height:0;padding:20px 0}

  .su-market,.su-info-page,.nb-blog,.nb-article{width:100%!important}
  .su-market-title-row h1,.su-info-hero h1{font-size:clamp(34px,10vw,46px)}
  .su-market-title-row p,.su-direction-intro,.su-info-hero>p,.su-contacts>p{font-size:16px}
  .su-market-filters,.nb-category-filter,.su-faq-jump{
    flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity
  }
  .su-market-filters>a,.nb-category-filter>a,.su-faq-jump>a{flex:0 0 auto;scroll-snap-align:start}
  .su-catalog-section-head{align-items:flex-start;flex-direction:column;gap:10px;margin-top:32px}
  .su-direction-card{min-height:230px;padding:21px}
  .su-service-card h2{font-size:18px}
  .su-service-price{white-space:normal}
  .su-service-bottom{align-items:stretch;flex-direction:column}
  .su-market .su-add-cart{width:100%;min-height:44px}

  .nb-blog-hero{padding:30px 22px}
  .nb-featured-post,.nb-article-hero{min-height:480px}
  .nb-featured-overlay,.nb-article-hero-overlay{min-height:480px;padding:26px 21px}
  .nb-featured-overlay h2,.nb-article-hero-overlay h1{font-size:clamp(30px,8vw,38px)}
  .nb-post-meta,.nb-article-meta{flex-wrap:wrap;gap:7px 14px}
  .nb-article-content{font-size:16px;line-height:1.75}
  .nb-article-content h2{font-size:clamp(25px,7vw,30px);margin-top:40px}
  .nb-toc{max-height:50vh;overflow:auto}

  .su-contact-grid{grid-template-columns:1fr;gap:16px}
  .su-contact-card{padding:22px}
  .su-info-cta{grid-template-columns:1fr!important;gap:24px;padding:22px!important}
  .su-partner-card{padding:22px}
  .su-faq-item>summary{align-items:flex-start}
  .su-faq-answer{padding-left:16px}

  body.woocommerce-account #customer_login{grid-template-columns:1fr}
  body.woocommerce-account .nk-box-3{padding:22px}
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}
  body.woocommerce-account .woocommerce-MyAccount-navigation li{flex:0 0 auto}
}

/* Small phones. */
@media (max-width:560px){
  :root{--su-container-gutter:14px;--su-page-gap:30px}
  .su-site-header{height:64px}
  .su-header-inner{padding-inline:14px}
  .su-brand-mark{width:126px;height:31px;flex-basis:126px}
  .su-icon-link{width:36px;height:36px}
  .su-mobile-menu summary{width:38px;height:38px;padding:9px}
  .su-mobile-panel{top:72px}
  .admin-bar .su-mobile-panel{top:118px}

  .su-site-main{padding-top:calc(64px + var(--su-page-gap));padding-bottom:var(--su-page-gap)}
  .home .su-site-main{padding-top:64px}
  .home .sellerup-page{padding-inline:14px!important}
  .home .su-hero{grid-template-columns:1fr;gap:24px;padding-top:34px!important;padding-bottom:24px}
  .home .su-hero h1{font-size:clamp(36px,11vw,44px);line-height:1.04}
  .home .su-hero p{font-size:16px}
  .home .su-actions{display:grid;grid-template-columns:1fr}
  .home .su-actions .wp-block-button,.home .su-actions .wp-block-button__link{width:100%}
  .home .su-visual{min-height:310px;transform:none;margin:0}
  .home .su-orbit{width:270px;height:270px}
  .home .su-score{width:205px;height:205px}
  .home .su-score strong{font-size:52px}
  .home .su-float{min-width:0;width:142px;padding:10px 11px;font-size:11px}
  .home .su-float b{font-size:11px}
  .home .su-float.one{top:8px;left:0}
  .home .su-float.two{top:86px;right:0}
  .home .su-float.three{bottom:6px;left:8px}
  .home .su-section{padding-top:50px}
  .home .su-section-head,.home .su-showcase-head{align-items:flex-start;flex-direction:column}
  .home .su-cta{padding:24px 20px}
  .home .su-why-panel>summary{align-items:flex-start}
  .home .su-why-panel>summary small{white-space:normal}

  .su-market>.row.no-gutters,.su-directions-index-grid,.su-solutions-list{grid-template-columns:1fr!important}
  .su-market-title-row h1,.su-info-hero h1,.su-contacts h1{font-size:clamp(32px,10vw,40px)}
  .su-category-breadcrumbs,.su-service-breadcrumbs,.nb-breadcrumbs{font-size:12px}
  .su-service-hero{padding:20px 16px!important}
  .single-product .su-service-hero-copy h1{font-size:clamp(30px,9vw,36px)}
  .single-product .su-service-buy{padding:18px!important}
  .single-product .variations,.single-product .variations tbody,
  .single-product .variations tr,.single-product .variations th,.single-product .variations td{display:block;width:100%}
  .single-product .variations th{padding-bottom:6px}
  .single-product .variations select{width:100%;max-width:100%}
  .su-service-tabs{margin-inline:-14px;padding-inline:14px}
  .su-detail-card,.single-product .su-service-content{padding:21px 17px!important}
  .su-process-track,.su-result-grid{grid-template-columns:1fr!important}

  .nb-blog-hero{padding:25px 18px}
  .nb-blog-search{grid-template-columns:minmax(0,1fr) 46px}
  .nb-featured-post,.nb-article-hero{min-height:430px}
  .nb-featured-overlay,.nb-article-hero-overlay{min-height:430px;padding:22px 18px}
  .nb-featured-overlay h2,.nb-article-hero-overlay h1{font-size:clamp(27px,8.5vw,34px)}
  .nb-card-media{height:200px}
  .nb-breadcrumbs [aria-current="page"]{max-width:100%}
  .nb-article-content blockquote,.nb-article-content .nb-callout{margin:26px 0;padding:20px 17px}

  .su-contact-card,.su-partner-card,.su-info-cta{border-radius:13px}
  .su-contact-card{padding:19px}
  .su-contact-item a,.su-contact-item strong{font-size:14px}
  .su-faq-item>summary{gap:10px;padding:16px 13px}
  .su-faq-item>summary span{flex-basis:26px}
  .su-faq-item h2{font-size:15px}
  .su-faq-answer{padding:0 13px 16px}

  /* Overrides body-embedded About page CSS. */
  body .su-about h1{font-size:clamp(32px,10vw,40px)!important}
  body .su-about h2{font-size:clamp(26px,8vw,32px)!important}
  body .su-about-hero{padding:24px 19px!important;border-radius:14px!important}
  body .su-about-hero>p{font-size:16px!important}
  body .su-about-section,body .su-about-process,body .su-about-legal,body .su-about-cta{margin-top:44px!important}
  body .su-about-intro,body .su-about-card-grid{grid-template-columns:1fr!important}
  body .su-about-intro>div,body .su-about-region,body .su-about-card,
  body .su-about-process,body .su-about-legal,body .su-about-cta{padding:20px!important}
  body .su-about-actions{display:grid!important}
  body .su-about-actions .su-about-btn{width:100%!important}

  body.woocommerce-cart .woocommerce table.shop_table,
  body.woocommerce-checkout .woocommerce table.shop_table{font-size:13px}
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr,
  body.woocommerce-checkout .woocommerce table.shop_table_responsive tr{display:block;padding:10px 0}
  body.woocommerce-cart .woocommerce table.shop_table_responsive td,
  body.woocommerce-checkout .woocommerce table.shop_table_responsive td{display:block;width:100%;padding:9px 10px!important;text-align:right}
  body.woocommerce-cart .woocommerce table.shop_table_responsive td::before,
  body.woocommerce-checkout .woocommerce table.shop_table_responsive td::before{float:left;margin-right:12px}
  body.woocommerce-cart .product-thumbnail{display:none!important}
  body.woocommerce-cart .actions .coupon{display:grid!important;grid-template-columns:1fr;gap:8px;width:100%}
  body.woocommerce-cart .actions .coupon input,body.woocommerce-cart .actions .coupon button,
  body.woocommerce-cart .actions>button{width:100%!important;margin:0!important}
  body.woocommerce-checkout #customer_details{display:block}
  body.woocommerce-checkout .col-1,body.woocommerce-checkout .col-2{width:100%!important;float:none!important}
}

/* Very narrow screens and accessibility preferences. */
@media (max-width:380px){
  .su-brand-mark{width:112px;height:28px;flex-basis:112px}
  .su-header-actions{gap:5px}
  .home .su-hero h1{font-size:34px}
  .home .su-visual{min-height:285px}
  .home .su-orbit{width:245px;height:245px}
  .home .su-score{width:185px;height:185px}
  .home .su-float{width:126px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
