/* Shared responsive layer - loaded last on every page (Avada blog/home + Bridge download-tutorial) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg,iframe,embed,object{max-width:100%}
img,video{height:auto}
iframe{border:0}
table{max-width:100%}
pre,code{white-space:pre-wrap;word-break:break-word}
h1,h2,h3,h4,h5,h6,p,li,a,td,th{overflow-wrap:break-word;word-wrap:break-word}

/* Avada wrappers: never exceed the viewport */
#wrapper,#boxed-wrapper,#main,#content,.fusion-row,.fusion-wrapper,.post-content,.fusion-fullwidth,.fusion-builder-row,.container{max-width:100%}
.fusion-row{width:100%}
.wp-caption,.wp-caption img,figure,.fusion-image-wrapper{max-width:100%;height:auto}
.alignleft,.alignright{max-width:100%}

/* Wide tables scroll inside themselves instead of breaking the page */
.post-content table,.main-cnts table,.entry-content table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Tablet and below */
@media(max-width:1024px){
  #main .fusion-row,#content,.container{padding-left:16px;padding-right:16px}
  #content,#sidebar,.fusion-column,.fusion-layout-column{width:100%!important;float:none!important;margin-left:0!important;margin-right:0!important}
}

/* Phones */
@media(max-width:768px){
  body{font-size:16px;line-height:1.65}
  h1{font-size:clamp(24px,7vw,32px);line-height:1.25}
  h2{font-size:clamp(21px,5.8vw,26px);line-height:1.3}
  h3{font-size:clamp(18px,5vw,22px);line-height:1.35}
  .alignleft,.alignright{float:none;display:block;margin:12px auto}
  .fusion-image-wrapper img,.post-content img{width:auto;max-width:100%;height:auto}
  .fusion-clearfix{width:100%}
  .fusion-footer-widget-area .fusion-column,.fusion-footer-widget-column{width:100%!important;float:none!important;margin:0 0 24px!important}
  .fusion-social-networks,.fusion-social-links-footer{text-align:center}
  .fusion-search-form-content{width:100%}
  .fusion-search-field input{width:100%}
  .pagination,.fusion-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
  a.fusion-button,.fusion-button,.button,.downloadspace a{display:inline-block;max-width:100%;text-align:center;white-space:normal}

  /* Bridge / WPBakery (download-tutorial) */
  .vc_col-sm-6,.vc_col-sm-4,.vc_col-sm-3,.vc_col-sm-8{float:none;width:100%;padding:0}
  .main-w header ul{justify-content:center}
}

/* Small phones */
@media(max-width:480px){
  #main .fusion-row,#content,.container{padding-left:12px;padding-right:12px}
  body{font-size:15.5px}
  .fusion-footer-widget-area{padding-left:0;padding-right:0}
  .main-w header .logo-w{max-width:150px}
}

/* ---------- Mobile header / hamburger (button injected by nav.js) ---------- */
.nav-toggle{display:none}
.nav-toggle{position:relative;width:44px;height:44px;padding:0;border:1px solid #d9dde3;border-radius:10px;background:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nav-toggle span{position:absolute;left:11px;right:11px;height:2px;border-radius:2px;background:#1b2430;transition:transform .25s,opacity .2s,top .25s}
.nav-toggle span:nth-child(1){top:14px}
.nav-toggle span:nth-child(2){top:21px}
.nav-toggle span:nth-child(3){top:28px}
.nav-open .nav-toggle span:nth-child(1){top:21px;transform:rotate(45deg)}
.nav-open .nav-toggle span:nth-child(2){opacity:0}
.nav-open .nav-toggle span:nth-child(3){top:21px;transform:rotate(-45deg)}
.nav-toggle:focus-visible{outline:2px solid #c8102e;outline-offset:2px}

/* Avada pages */
@media(max-width:800px){
  .fusion-header-wrapper{position:relative!important;z-index:999;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08)}
  .fusion-header-sticky-height,.fusion-mobile-nav-holder,.fusion-mobile-menu-search,.fusion-overlay-search,.fusion-header .fusion-clearfix{display:none!important}
  .fusion-header{padding:0!important;height:auto!important}
  .fusion-header .fusion-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:8px 14px}
  .fusion-logo{float:none!important;margin:0!important;width:auto}
  .fusion-logo img{width:auto!important;max-width:150px;max-height:38px;height:auto!important}
  .nav-toggle{display:block;flex:0 0 auto}
  .fusion-main-menu{display:none!important;float:none!important;flex:0 0 100%;width:100%;margin:8px 0 0!important;border-top:1px solid #e6e9ee}
  .nav-open .fusion-main-menu{display:block!important;animation:navDrop .22s ease-out}
  .fusion-main-menu .fusion-menu{display:block!important;margin:0!important;padding:4px 0!important;list-style:none;float:none!important}
  .fusion-main-menu .fusion-menu>li{display:block;float:none!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid #eef0f4}
  .fusion-main-menu .fusion-menu>li:last-child{border-bottom:0}
  .fusion-main-menu .fusion-menu>li>a{display:flex!important;align-items:center;min-height:48px;padding:0 6px!important;height:auto!important;border:0!important;background:none;color:#1b2430!important;font-size:14px!important;font-weight:700;letter-spacing:.2px;line-height:1.3!important;text-decoration:none}
  .fusion-main-menu .fusion-menu>li>a .menu-text{padding:0!important;line-height:1.3!important}
  .fusion-main-menu .fusion-menu>li>a:hover,.fusion-main-menu .fusion-menu>li>a:focus-visible{color:#c8102e!important}
  .fusion-main-menu .fusion-menu>li.current-menu-item>a,.fusion-main-menu .fusion-menu>li.current_page_item>a{color:#c8102e!important;box-shadow:inset 3px 0 0 #c8102e;padding-left:12px!important}
}

/* download-tutorial (Bridge) */
@media(max-width:1199px){
  .main-w header{position:relative;z-index:999;padding:8px 0}
  .main-w header .main-h-bottom-cnt{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .main-w header .logo-w.__dark{display:block;order:-1;width:auto!important;max-width:150px}
  .main-w header .main-h-bottom_menu-and-mods{order:0;width:0;height:0;overflow:visible;flex:0 0 0}
  .main-w header .mods-w,.main-w header .mods,.main-w header .mods_el,.main-w header .popup-menu-mod{display:contents}
  .main-w header .js--show-next,.main-w header .popup-menu-popup-close,.main-w header .vertical-helper{display:none!important}
  .main-w header .nav-toggle{display:block;order:1;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
  .main-w header .nav-toggle span{background:#fff}
  .main-w header .popup-menu-popup{display:none!important;position:absolute!important;left:0;right:0;top:100%;background:#0d3a80!important;width:100%;height:auto!important;padding:4px 16px 10px!important;box-shadow:0 10px 20px rgba(0,0,0,.25)}
  .main-w header.nav-open .popup-menu-popup{display:block!important;animation:navDrop .22s ease-out}
  .main-w header .popup-menu{margin:0;padding:0;list-style:none;display:block}
  .main-w header .popup-menu li{margin:0;border-bottom:1px solid rgba(255,255,255,.15)}
  .main-w header .popup-menu li:last-child{border-bottom:0}
  .main-w header .popup-menu a{display:block;padding:14px 4px;color:#fff;font-size:14px;font-weight:700;text-decoration:none}
  .main-w header .popup-menu .current-menu-item a{color:#ffd0d8}
}
@keyframes navDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.nav-open .fusion-main-menu,.main-w header.nav-open .popup-menu-popup{animation:none}}

/* ---------- Blog list + single post ---------- */
/* Grid: 3 cols -> 2 cols (tablet) -> 1 col (phone) */
.fusion-blog-layout-grid{display:flex;flex-wrap:wrap}
.fusion-blog-layout-grid .fusion-post-grid .fusion-post-wrapper{width:100%}
.fusion-post-grid .fusion-image-wrapper img,.fusion-post-slideshow img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
@media(max-width:1024px){
  #posts-container .fusion-blog-layout-grid .fusion-post-grid{width:50%!important;float:none!important;padding:10px!important}
}
@media(max-width:640px){
  #posts-container .fusion-blog-layout-grid .fusion-post-grid{width:100%!important;padding:8px 0!important}
  .fusion-post-grid .fusion-post-wrapper{border-radius:10px;overflow:hidden}
  .fusion-post-content-wrapper{padding:14px!important}
  .fusion-post-grid .entry-title,.fusion-post-title{font-size:19px!important;line-height:1.3!important;margin:0 0 8px!important}
  .fusion-single-line-meta{font-size:13px;line-height:1.6}
  .fusion-meta-info{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0 0!important}
  .fusion-meta-info .fusion-alignleft,.fusion-meta-info .fusion-alignright{float:none!important;margin:0!important}
  .fusion-read-more{display:inline-flex;align-items:center;min-height:40px;padding:0 4px}
  /* hover overlay is useless on touch and covers the image link */
  .fusion-rollover{display:none!important}
}

/* Pagination: bigger touch targets */
.pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;float:none!important;margin:24px 0;padding:0!important}
.pagination a,.pagination span.current{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0 12px!important;margin:0!important;border-radius:8px;line-height:1!important}
.pagination .current{background:#c8102e;color:#fff;border-color:#c8102e}

/* Single post */
@media(max-width:768px){
  .single-post .post-content,.single-post .fusion-post-content{width:100%}
  .single-post .entry-title,.single-post .fusion-post-title{font-size:clamp(24px,7vw,30px)!important;line-height:1.25!important}
  .post-content img,.wp-block-image img{height:auto!important}
  .wp-block-image figure,.wp-block-image{margin-left:0;margin-right:0}
  .wp-element-caption,.wp-caption-text{font-size:13px}
  .post-content ul,.post-content ol{padding-left:1.3em}
  /* Table of contents */
  .eb-toc-container,.eb-parent-wrapper{max-width:100%!important;width:100%!important}
  .eb-toc-container{padding:12px 14px!important}
  .eb-toc__list a{display:inline-block;padding:4px 0}
  /* Share box */
  .fusion-sharing-box{padding:16px!important;text-align:center}
  .fusion-sharing-box .fusion-social-networks,.fusion-sharing-box .fusion-social-networks-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;float:none!important}
  .fusion-sharing-box .fusion-social-network-icon{margin:0!important}
  .fusion-sharing-box h4{float:none!important;margin:0 0 10px!important}
  /* Author box */
  .about-author .fusion-title{margin-top:0}
  .about-author-container{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
  .about-author-container .avatar,.about-author-container .avatar img{float:none!important;margin:0 auto!important}
  .about-author-container .description{width:100%!important;padding:0!important;margin:0!important}
  /* Prev/next */
  .single-navigation{display:flex;flex-wrap:wrap;gap:8px}
  .single-navigation a{float:none!important;display:block}
  /* Related posts: swipeable row (carousel JS is not loaded) */
  .related-posts .awb-swiper-wrapper,.related-posts .swiper-wrapper{display:flex!important;flex-wrap:nowrap!important;gap:12px;overflow-x:auto;transform:none!important;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:8px}
  .related-posts .swiper-slide{flex:0 0 72%!important;width:72%!important;margin:0!important;scroll-snap-align:start}
  .related-posts .awb-swiper-button{display:none!important}
  /* Comments */
  .fusion-comments input[type=text],.fusion-comments input[type=email],.fusion-comments input[type=url],.fusion-comments textarea{width:100%!important}
}

/* ---------- Blog mobile overflow fix ---------- */
/* blog.css grid uses 1fr (min-content blowout) -> use minmax(0,1fr) and let flex/grid children shrink */
#main .fusion-row>*,#content,#posts-container,.fusion-posts-container>article,.fusion-post-wrapper,.fusion-post-content-wrapper{min-width:0}
@media(max-width:1000px){.fusion-posts-container.fusion-blog-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}}
@media(max-width:640px){
  .fusion-posts-container.fusion-blog-layout-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  #main{padding-left:0!important;padding-right:0!important;padding-top:20px!important}
  #main .fusion-row{padding-left:14px!important;padding-right:14px!important}
  #content{padding-left:0!important;padding-right:0!important;width:100%!important}
  #posts-container #posts-container,.fusion-posts-container article{max-width:100%}
  .fusion-post-grid .fusion-post-wrapper{width:100%}
}
