/*-------------- media section ---------------*/
@media screen and (min-width:1200px) {
  .main-carousel .container {
    max-width: 1400px;
  }
}
@media screen and (max-width:480px) {
  .product-search-form input {
    width: 100%;
    border: 1px solid rgba(232, 232, 232, 1);
    border-radius: 0;
    margin-bottom: 10px;
  } 
  .product-search-form {
    margin-right: 30px;
    margin-right: 0;
    text-align: center;
  }
  select.header-search-select {
    border: 1px solid rgba(232, 232, 232, 1);
    margin: 0;
  } 
  .product-search-form button.header-search-button {
    border-radius: 0;
  }
  .product-search-form {
    margin-right: 30px;
    margin-right: 0;
  }
  .product-search-form form {
    display: block;
    border: none;
  }
}
@media screen and (max-width:576px) {
 
  .flash_product{
    max-width: 300px;
    margin: 0 auto;
    width: 100%;
    text-align: center;
  }
}
@media screen and (min-width: 577px) and (max-width: 767px){
  .best-selling-col {
    width: 50%;
  }
}
@media screen and (max-width:767px) {
  .header-social-icons {
    text-align: center;
  }
  .top-text-two {
    padding: 0;
  }
  .categories-bar {
    padding: 5px 13px;
    border-radius:5px;
  } 
  .sale-box-inner img {
    max-width: 79%;
  }
  .first-sale-box-image-2 {
    right: 0;
  }
  div#slider img {
    max-width: 85%;
  }
  .slide-tagline {
    padding: 8px 13px;
  }
  .slide-image1 {
    right: 22px;
  }
  .top-text-one {
    padding: 13px 0 0px 0;
  }
  .top-text-seperator {
    display: none;
  }
  .my-account-block .media-body {
    display: none;
  }
  .my-account-block i, .search-mobile i {
    color: white;
    font-size: 14px;
    margin-right: 5px;
    background-color: #119D9F;
    padding: 7px;
    border-radius: 7px;
    margin-bottom: 0 !important;
  }
  .search-mobile i {
    margin-right: 0;
  }
  .custom-icons-block i {
    padding: 7px 7px;
    font-size: 14px;
    margin-right: 5px;
  }
  .wishlist-block, .support-block {
    margin-right: 0px;
  }
  .my-account-block.media {
    margin: 0 !important;
  }
  .custom-links-blocks {
    margin: 10px 0;
    padding: 7px 1px;
  }
  .custom-links-block a, select.gt_selector.notranslate, .chosen-container-single .chosen-single span {
    font-size: 10px;
  }
  .sale-boxes-inner h5 {
    max-width: 59%;
  }
  .topbar_translate .gt_selector {
    width: 58px;
  }
  .headerbar {
    text-align: right;
  }
  .slider-content {
    max-width: 66%;
    padding: 16px;
  }
  .slide-heading {
    font-size: 22px;
  }
  .slider-image2 {
    margin-top: 27px;
  }
  #slider .owl-dots {
    display: none;
  }
  .authordetails ul li a i {
    font-size: 14px;
    display: inline-block !important;
  }
  div#comments, .related-post-wrapper, .single-post-block {
    text-align: center;
  }
  .post_ctg span {
    display: block;
    float: none;
    margin-bottom: 10px;
  }
  .categories-block, .slide-sale-iconbox, .slider-block, .sale-block {
    width: 100%;
  }
  .header-git-block:first-child {
    margin: 0;
  }
  .currency-language-blk {
    justify-content: center;
  }
  .categories-wrapper {
    margin-bottom: 10px;
    border-radius: 0;
  }
  .categories-bar {
  }
  .header-menu-wrapper {
    padding-top: 10px;
  } 
  .promo-blocks-inner img {
    width: auto;
  }
  .promo-banner-row, .deals-blocks-content{
    text-align: center;
  }
  .deals-col-right .section_main_head {
    margin-top: 14px;
  }
  .deals-timer {
    display: block;
    text-align: center;
  }
  #slider .owl-dots {
    bottom: 10px;
    left: 0;
    right: 0;
  }
  .first-sale-box.sale-block {
    margin-bottom: 20px;
  }
  #slider .owl-nav {
    position: unset;
    margin-bottom: 10px;
  }
  .second-sale-box-image-1 img {
    max-width: 35%;
  }
  .second-sale-box-image-1 {
    text-align: right;
  }
  .cat_block {
    padding-bottom: 0;
    margin: 0 auto;
  }
  #best-seller .best-selling-col {
    width: 50%;
  }
  .flash_product  h5 a {
    font-size: 12px;
  }
  .flash_product .custom_product_meta a {
    padding: 14px 10px;
    font-size: 11px;
  }
  .block-shadow-inner, .block-shadow span {
    display: none;
  }
  .product-title-box {
    padding: 4px 10px 15px 10px;
  }
  .product-btn {
    margin-top: 10px;
  }
  .section_main_head:after{
    display: none;
  }
  #all-category .owl-carousel .owl-stage-outer {
    padding-bottom: 0;
  }
  .promo-blocks-inner {
    text-align: center;
  }
  .owl-carousel .owl-item .product_img_box img {
    width: 100% !important;
  }
  #blockbustor-deals .best-seller-box {
    max-width: 84%;
    margin: 0 auto;
  }
  .testimonials_image {
    margin: 0;
  }
  .author-comment {
    justify-content: center;
  }
  .iconbox_box  img {
    margin-bottom: 10px !important;
  }
  .woocommerce-page table.cart .product-thumbnail {
    display: block;
    text-align: left !important;
  }
  .woocommerce-page table.cart .product-thumbnail::before{
    display: none;
  }
  .yith-wcwl-add-to-wishlist .feedback .yith-wcwl-icon {
    margin-right: 0px;
  }
  .contact-details-wrapper {
    max-width: 80%;
    max-width: 100%;
    text-align: center;
  }
  .news-box .metabox {
    padding-left: 0;
    padding-right: 0;
  }
  .tagline-disount {
    border: none;
    padding: 0;
  }
  .product-search-form {
    margin: 0;
  }
  .topbar-custom-links {
    text-align: center;
  }
  .header-navigation {
    padding: 7px 0;
  }
  .owl-dots:after, .owl-dots:before, .brand-images:after{
    display: none;
  }
  #footer-widgets {
    padding: 19px 0;
  }
  figure.wp-block-image.size-full {
    margin: 0;
  }
  .social-block {
    text-align: center;
    margin-top: 10px;
  }
  .newsletter-social-icons {
    text-align: center;
  }
  .top-bar{
    text-align: center;
  }
  .header_social {
    margin-left: 0;
    margin-top: 10px;
  }
  .topbar_translate .switcher .option{
    left: -40px;
  }
  #all-category .owl-carousel .owl-item img {
    width: auto !important;
    height: auto !important;
  }
  .inner-boxes {
    text-align: center;
  }
  .woocommerce #order_review table th, .woocommerce table.shop_table td{
    text-align: center;
  }
  .title-banner-content {
    margin-top: 2em;
  }
  #deals {
    padding-top: 0;
  }
  .rs_block .flash_product {
    margin-bottom: 20px;
    text-align: center;
  }
  .promo-blocks {
    margin-bottom: 20px;
  }
  .news_block {
    display: block;
  }
  .slide_nav, img.theme-image-after, img.theme-image-before {
    display: none;
  }
  .section_main_head {
    position: relative;
  }
  .custom-dots.owl-dots{
    position: unset;
  }
  .slide_btn {
    margin-top: 10px !important;
    margin-bottom: 20px;
  }
  .blog-author-box a i {
    display: inline-block !important;
    margin-bottom: 0;
  }
  .blog-btn {
    margin-right: 22px;
    margin: 0;
    margin-bottom: 10px;
  }
  .media-author-image {
    display: block;
    text-align: center;
  }
  .newsletter-container  .section_main_head {
    margin: 0;
  }
  #masthead {
    position: unset;
  }
  .footer-col3 h3.widget-title {
     visibility: visible; 
  }
  #main-banner {
    padding-top: 2em;
  }
  .banner-images, .banner-content-block {
    width: 100%;
  }
  .banner-inner h2 {
    font-size: 28px;
  }
  .menu_container {
    margin-top: 0;
  }
  .search-block i.fas.fa-search {
    position: unset;
  }
  .half-heading.section_main_head{
    max-width: 100%;
  }
  .news_date_comment {
    text-align: center;
    margin-top: 10px;
  }
  .banner_title_box img{
    display: none;
  }
  .banner_title_box {
    margin-bottom: 40px;
    padding-top: 0em;
    padding-bottom: 3em;
  }
  .section-text {
    margin-bottom: 16px !important;
  }
  .search-no-results input.search-field {
    margin-bottom: 10px;
  }
  .share_icon i {
    padding: 7px;
    width: 24px;
  }
  .authordetails ul {
    margin-left: 0;
    margin-top: 20px;
  }
  #search form.search-form.serach-page {
    left: 38%;
  }
  #search input[type="search"]{
    width: 52%;
  }
  .footer-content-wrapper {
    max-width: 100%;
     margin-bottom: 0px; 
  }
  .owl-carousel .owl-dots {
    text-align: center;
    display: flex;
    justify-content: center;
    margin-top: 10px;
  }
  .title-banner-content {
    max-width: 100%;
  }
  .contact-email i, .contact-address i, .contact-phone i {
    margin: 0 auto;
  } 
  #top-bar {
    text-align: center;
  }
  .owl-carousel .owl-item .testimonials_image img, .testimonials_image img {
    margin: 0 auto !important;
  }
  .footer-text {
    text-align: center;
    margin: 10px 0;
  }
  .owl-nav, .news_block, .footer-logo {
    text-align: center;
  }
  .owl-nav {
    margin-top: 10px;
  }
  .iconbox_box  img.service_icon_img {
    margin-bottom: 10px !important;
  }
  .main-carousel {
    padding-bottom: 0;
  }
  .head-logo-block {
    margin-bottom: 20px;
    margin-top: 17px;
  }
  .inner_carousel {
    margin-bottom: 0em;
  }
  .content_on_banner {
    position: unset;
    text-align: center;
  }
  .custom_block {
    padding: 10px;
  }
  .section_main_head h3 {
    font-size: 24px;
  }
  .head-full-width-center{
    max-width: 100%;
  }
  #search .close{
    top: 31%;
    right: 10%;
  }
  .search-no-results div#sidebar {
    margin-top: 20px;
  }
  .contac_form:after{
    display: none;
  }
  .contac_form{
    margin: 10px 0;
    max-width: 100%;
  }
  .contact_box_container{
    padding: 15px 15px;
  }
  .contact_details_column .media{
    margin-bottom: 20px !important;
  }
  .section_main_head .section-text, .section_main_head .section-text p{
    max-width: 100%;
  }  
  #slider h1, #slider h2 {
    font-size: 18px;
    line-height: 24px;
  }
  a.theme_button.slide-btn {
    margin-right: 0;
  }
  .slide-content-box {
    margin-top: 0em;
    text-align: center;
    position: unset;
  }
  .slide-image-inner {
    text-align: center;
  }
  .contact_head{
    left: unset;
    width: 80%;
    margin: 0 auto !important;
  }
  .page-content h1{
    font-size: 120px;
  }
  .theme-footer-cols ul li {
    padding-left: 0;
    list-style: none;
    margin-left: 0;
  }
  .theme-footer-cols ul{
    margin: 0;
  }
  .theme-footer-cols ul li:before{
    display: none;
  }
  .logo_inner {
    text-align: center;
    margin-top: 0;
  }
  #rpwwt-recent-posts-widget-with-thumbnails-2 img {
    float: none;
    display: block;
    text-align: center;
    margin: 0 auto;
  }
  .rpwwt-widget ul li {
    text-align: center;
    margin: 0 auto;
  }
  .copyright-icons {
    text-align: center;
    margin: 10px 0;
  }
  .woocommerce .cart-collaterals .cart_totals, .top_contact, .news-box h5, .custom-nav, .quote_box {
    text-align: center;
  }
  .media, .media img {
    display: block !important;
    text-align: center;
    margin: 0 auto !important;
  }
  .media img {
    margin-bottom: 15px;
  }
  .media i {
    display: block !important;
    margin-bottom: 10px;
  }
  .theme-footer-cols h3:after{
    margin: 0 auto;
    text-align: center;
    left: 0;
    right: 0;
  }
  .section_main_head.heading-half-width{
    max-width: 76%;
  }
  tbody, td, tfoot, th, thead, tr{
    padding: 10px 10px;
  }
  .inner-body{
    text-align: center;
  }
  .toggler{
    margin: 0;
  }
  .media img{
    margin-bottom: 0;
  }
  .section_main_head, .contact_head, .contact_details_column ul li, .theme-footer-cols{
    text-align: center;
  }
  .footer-col1 .is-layout-flex.wp-block-buttons {
    display: block;
  }
  .contact_widget .media i{
    padding-right: 0;
  }
  .footer_icons {
    text-align: center;
    margin-top: 30px;
  }
  .copyright-text{
    text-align: center !important;
  }
  .contact_details_column a{
    display: block;
  }
  .woocommerce-cart table.cart td.actions .coupon .input-text {
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
  }
  .woocommerce-cart table.cart td.actions .coupon button.button {
    width: auto;
    margin: 0 auto;
    float: none !important;
  }
  .woocommerce-page table.cart td.actions .button {
    margin: 0 auto !important;
  }
  section {
    padding: 30px 0;
    background-size: cover;
  }
  .logo h1 a {
    font-size: 21px;
  }
  .post-navigation .nav-previous, .post-navigation .nav-next, blockquote, .work-info img {
    width: 100%;
  }
  .admin-login.text-end{
    text-align: left !important;
  }
  .contact-info {
    display: block;
    margin: 0;
    padding: 0 20px;
  }
  .c_icon{
    margin: 7px auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px){
 
  .search-mobile i {
    color: white;
    font-size: 18px;
    margin-right: 5px;
    background-color: #119D9F;
    padding: 9px;
    border-radius: 7px;
    margin-bottom: 0 !important;
  }
  .search-mobile i {
    margin-right: 0;
  }
  .top-logo-wrapper {
    padding: 7px 0;
  }
  .headerbar {
    padding-bottom: 5px !important;
    padding-top: 5px;
  }
  .top-bar {
    text-align: center;
  }
  .search-mobile button {
    padding-right: 18px !important;
  }
  .hamburger {
    font-size: 24px;
    padding: 10px 18px;
  }
  .slide-sale-iconbox {
    width: 100%;
  }
  .categories-block {
    width: 100%;
  }
  .currency-language-blk {
    justify-content: center;
  }
  .slide-heading {
    font-size: 20px;
  }
  .slider-content {
    max-width: 72%;
    padding: 16px;
  }
  .slider-image2 img {
    margin-top: 10px !important;
  }
  .second-sale-block.sale-block {
    margin-top: 18px;
  }
  .second-sale-box-image-1 {
    text-align: right;
  }
  #best-seller .best-selling-col {
    width: 33%;
  }
  .second-sale-box-image-1 img {
    max-width: 47%;
  }
  .categories-bar {
    margin: 10px 0;
  }
  .newsletter_head   .media {
    display: block;
    text-align: center;
  }
  .search-block i.fas.fa-search {
    right: 0;
    position: unset;
    padding: 10px 15px 9px 14px;
  }
  .footer-details .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
    flex-basis: unset !important;
  }
  .section_main_head {
    margin-top: 20px;
  }
  .mobile-menu {
    display: block;
    margin-top: 0em;
    position: absolute;
    top: 0px;
    left: 0;
  }
  .menu_container{
    position: relative;
  }
  .banner_title_box {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .banner-contact-box {
    margin-top: 26px;
  }
  #main-banner {
    padding-top: 14em;
  }
  .logo_inner {
    padding: 0;
    margin-top: 0;
  }
  .headerbar {
    margin-top: 0 !important;
    padding-bottom: 10px;
  }
  .newsletter-container {
    max-width: 100%;
  }
  .owl-carousel .owl-dots {
    text-align: center;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  .tp_breadcrumbs, .tp_breadcrumbs a {
    font-size: 12px;
    line-height: 20px;
  }
  .owl-carousel .owl-item .testimonials_image img, .testimonials_image img {
    margin: 0 auto !important;
  }
  .logo_inner, .footer-content-wrapper.row, .footer-text {
    text-align: center;
  }
  .footer-col4 {
    padding-left: 15px;
  }
  .content_on_banner {
    max-width: 70%;
    margin: 0 auto;
    left: 0;
    position: unset;
    margin-top: 0;
    display: block !important;
  }
  .promo-inner {
    padding: 25px;
    padding-right: 25px;
  }
  .news_content {
    padding: 0px 0;
  }
  .about-head-outer {
    padding: 0;
  }
  .slide-content-box {
    left: -4%;
  }
  .section_main_head h3 {
    font-size: 24px;
  }
  .head-full-width-center {
    max-width: 100%;
  }
  .slider-box {
    padding-bottom: 2em;
  }
  #slider h1, #slider h2 {
    font-size: 28px;
    line-height: 40px;
  } 
  .search_mobile a i {
    color: #222;
  }
  .news-box {
    margin-bottom: 20px !important;
  }
  .page-template-blog-with-left-right-sidebar .blog_inner_box {
    width: 100%;
  }
  section {
    padding: 30px 0;
  }
  .slide-content-box {
    margin-top: 1em;
  }
  .slide-content-box {
    margin-bottom: 20px;
  }
  .promo-banner-row {
    padding: 1em 2em;
  }
  .app-image-left {
    display: flex;
    align-items: end;
    margin-top: 0;
  }
  #blockbustor-deals .section_main_head {
    text-align: center;
    margin-bottom: 10px;
  }
  .deals-timer {
    justify-content: center;
  }
  #promotional-blocks .row {
    justify-content: center;
  }
  #newsletter_section .section_main_head {
    margin-top: 0;
  }
}
@media screen and (max-width: 991px){
  .newsletter_shortcode {
    width: 100%;
  }
  .footer-col1, .footer-col2, .footer-col3 {
    margin-bottom: 20px;
  }
  .copyright-wrapper {
    padding: 20px 0;
  }
  .Slider-left-box, .section_main_head .section-text, .section_main_head .section-text p{
    max-width: 100%;
  }
  #header {
    margin-right: 0 !important;
  }
  .search_mobile{
    display: flex !important;
  }
  .banner-head {
    max-width: 100%;
    padding: 0;
  }
  .serach_form_box{
    display: none !important;
  }
  .footer-cols, .custom-nav{
    text-align: center;
  }
  #slider .slide_nav i{
    font-size: 12px;
  }
  #about-us .section_main_head h3{
    font-size: 26px;
  }
  .footer-navigation {
    margin-top: 20px;
    text-align: center;
  }
  .footer-navigation ul li{
    margin: 0;
  }
}
@media screen and (min-width: 992px) and (max-width: 1024px){
  #header {
    text-align: right;
  }
  .header-menu-wrapper {
    padding: 6px 0;
  }
  .search-mobile i {
    color: white;
    font-size: 18px;
    margin-right: 5px;
    background-color: #119D9F;
    padding: 9px;
    border-radius: 7px;
    margin-bottom: 0 !important;
  }
  .search-mobile i {
    margin-right: 0;
  }
  .categories-block {
    width: 21%;
  }
  .slide-sale-iconbox {
    width: 79%;
  }
  .iconbox_box {
    padding: 8px;
  }
  .product-search-form input {
    width: 100%;
  }
  .slider-content {
    max-width: 78%;
    padding: 12px;
  }
  .block-shadow-inner {
    top: -122px;
    right: -64px;
  }
  .newsletter-social-icons a {
    width: 36px;
    height: 36px;
  }
  .slide-image1 {
    right: 26px;
  }  
  .logo_inner{
    margin-top: 0;
  }
  .mobile-menu {
    position: absolute;
    top: 0;
    left: 0;
  }
  .headerbar {
    margin-left: 4px;
    margin: 7px 0;
  }
  .banner_title_box {
    padding-top: 5em;
    padding-bottom: 5em;
  }
  .right-contact-box {
    display: block !important;
  }
  section{
    padding: 50px 0;
  }
  .content_on_banner {
    max-width: 75%;
    margin: 0 auto;
    left: 0;
    right: 0;
    position: unset;
  }
  .custom-social-icons a i{
    margin-bottom: 5px;
  }
  .contact_widget .media a {
    font-size: 13px;
  }
   .top-text-blk {
    align-items: center;
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1200px){
  .headerbar {
    text-align: right;
  }
  .header-menu-wrapper {
    background-color: var(--color-secondary);
    padding: 6px 0;
  }
  .top-text {
    font-size: 13px;
  }
  .side-navigation li {
    padding: 27px 6px;
  }
  .logo_inner {
    margin-top: 0;
  }
  .product-search-form input {
    width: 55%;
  }
  .content_on_banner {
    max-width: 100%;
    margin: 0 auto;
    left: 0;
    right: 0;
  }
  .contact_widget .media a {
    font-size: 13px;
  }
}
@media screen and (min-width: 1200px) and (max-width: 1300px){
  .product-search-form input {
    width: 300px;
  }
  .contact-head{
    padding-left: 0;
  }
} 
@media screen and (min-width: 1200px) and (max-width: 1251px){
  .wishlist-block, .faq-block, .cart-block {
    margin-right: 12px;
  }
}
@media screen and (max-width: 1200px){
  .owl-nav {
    margin-top: 10px;
  }
  .hamburger{
    font-size: 14px !important;
  }
  .search-mobile {
    display: block;
    margin-right: 0px;
  }
  .desktop-search {
    display: none;
  }
  .search-mobile button {
    background-color: transparent;
    color: black !important;
    padding-right: 5px !important;
    border: none;
    border-radius: 50% !important;
    font-size: 22px;
    padding-left: 0 !important;
  }
  .header-blocks {
    justify-content: end;
  }
  .banner_title_box img{
    display: none;
  }
  .mobile-menu {
    display: block;
  }
  .headerbar {
    display: block;
  }
  .side-navigation ul li.current_page_item > a, .side-navigation ul li.current-menu-item > a {
    color: white;
  }
  .Slider-left-box{
    max-width: 100%;
  }
  .about-img-bottom {
    margin-top: 4px;
    margin-left: 0;
  }
  .about_outer{
    padding: 0 !important;
  }
  .side-navigation ul li.current_page_item a:after{
    display: none;
  }
  .side-navigation ul li:hover > ul{
    animation:unset;
  }
  .side-navigation ul li{
    width: 100%;
  }
    /* .side-navigation ul li a,  .side-navigation li */
  .headerbar, .side-navigation, .side-navigation ul ul li, .side-navigation .current_page_item {
    display: block;
  }
  .side-navigation .current_page_item {
    background-color: transparent !important;
  }
  .headerbar:focus,.hamburger:focus{
    outline: none;
  }
  .hamburger {
    text-align: center;
    color: white;
    font-size: 22px;
    background-color: #119D9F;
    padding: 4px 10px;
    border-radius: 6px;
    display: inline-block;
  }
  .side-navigation ul li.current_page_item a:before, .side-navigation ul li.current-menu-item a:before{
    display: none;
  }
  .header-menu-boxx {
    position: relative;
  }
  .main-header .side-navigation {
    display: none
  }
  .side-navigation, .side-navigation li {
    padding: 12px 5px;
    text-align: left;
  }
  .side-navigation ul li a {
    color: #fff;
    font-size: 14px;
  }
  
  .side-navigation ul ul li a{
    border: 0;
  }
  amp-sidebar#sidebar1 {
    background: black;
    width: 250px;
  }
  #sidebar1 {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 9999999;
    top: 0;
    right: 0;
    overflow-x: hidden;
    transition: .5s;
  }
  .side-navigation ul li ul, .side-navigation ul li ul ul {
    display: block !important;
  }
  .side-navigation ul ul,.side-navigation ul ul li {
    background: transparent !important;
  }
  .side-navigation ul li.current_page_item, .side-navigation ul li.current-menu-item {
    background-color: transparent;
  }
  .side-navigation ul ul {
    position: static;
    width: 100%;
    box-shadow: none;
  }
  .side-navigation ul ul li{
    padding-left: 15px;
  }
  .side-navigation ul.sub-menu li a:before{
    content: none;
  }
  .side-navigation ul>li.menu-item-has-children>a:after{
    margin-top: 0;
  }
}
/* Phones: a compact footer. Sections three or two per row (Theme Settings > Footer > Footer Sections on Phones),
   the first full width and an odd last one centred, with tighter spacing; the scroll-to-top button sits
   low so it does not cover the copyright text. */
@media screen and (max-width: 767px) {
  .footer-details {
    justify-content: center;
  }
  .footer-details .footer-col-half {
    flex: 0 0 auto;
    width: 50%;
    max-width: 50%;
  }
  /* Three per row: narrower gutters and slightly smaller text so the menus fit side by side. */
  .footer-details .footer-col-third {
    flex: 0 0 auto;
    width: 33.3333%;
    max-width: 33.3333%;
    padding-left: 4px;
    padding-right: 4px;
  }
  .footer-details .footer-col-third h3.widget-title {
    font-size: 14px;
  }
  .footer-details .footer-col-third ul li a {
    font-size: 13px;
    line-height: 18px;
  }
  .theme-footer-cols h3.widget-title {
    padding: 4px 0;
    margin-bottom: 8px;
  }
  .theme-footer-cols ul li {
    margin-bottom: 6px;
  }
  .footer-details > [class*="footer-col"] {
    margin-bottom: 16px;
  }
  .scrollup {
    bottom: 16px;
  }
}

/* Narrow phones (e.g. 360px): one size smaller so menu links like "Terms & Condition" stay on one line. */
@media screen and (max-width: 380px) {
  .footer-details .footer-col-third ul li a {
    font-size: 12px;
  }
}

/* Phone header (Theme Settings > Responsive Settings > Header on Phones). The phone-only buttons and
   menu links are hidden on larger screens. */
.hidp-ph-btn,
.hidp-ph-menu-links {
  display: none;
}
@media screen and (max-width: 767px) {
  /* Compact: one row with menu, logo, Shop Categories, search, account and cart. The top bar and the
     menu/links row are collapsed (not removed: the menu and Shop Categories panels live in them). */
  body.hidp-ph-compact .top-bar,
  body.hidp-ph-compact .header-menu-wrapper .categories-bar,
  body.hidp-ph-compact .header-menu-wrapper .headerbar,
  body.hidp-ph-compact .header-menu-wrapper .custom-links-blocks,
  body.hidp-ph-compact .header-blocks .support-block,
  body.hidp-ph-compact .header-blocks .wishlist-block {
    display: none !important; /* some of these rows also carry Bootstrap d-flex (display: flex !important) */
  }
  body.hidp-ph-compact .header-menu-wrapper {
    padding: 0;
    margin: 0;
    min-height: 0;
    border: 0;
    box-shadow: none;
  }
  body.hidp-ph-compact .header-menu-wrapper .row > * {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
  }
  body.hidp-ph-compact .logo-search-block {
    padding: 6px 0;
  }
  body.hidp-ph-compact .logo-search-block .row > div:first-child {
    display: flex;
    align-items: center;
    gap: 2px;
    padding-left: 4px;
  }
  body.hidp-ph-compact .logo_inner,
  body.hidp-ph-compact .logo-inner {
    margin: 0;
    padding: 0;
    text-align: left;
  }
  body.hidp-ph-compact .logo_inner img {
    max-height: 38px;
    width: auto;
  }
  body.hidp-ph-compact .header-blocks {
    justify-content: flex-end;
    gap: 0;
    padding-right: 4px;
  }
  body.hidp-ph-compact .hidp-ph-btn,
  body.hidp-ph-compact .header-blocks .search-mobile button,
  body.hidp-ph-compact .header-blocks .my-account-block,
  body.hidp-ph-compact .header-blocks .cart-block a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 20px;
  }
  body.hidp-ph-compact .header-blocks .cart-block sup {
    right: 0;
  }
  body.hidp-ph-compact .header-blocks .my-account-block .media-body {
    display: none;
  }
  body.hidp-ph-compact .header-blocks .my-account-block {
    display: inline-flex !important; /* the theme sets .media { display: block !important } on phones */
  }
  body.hidp-ph-compact .header-blocks .my-account-block i {
    margin: 0;
  }
  body.hidp-ph-compact .hidp-ph-categories i {
    padding: 7px; /* the same box as the search, account and cart icons */
    font-size: 14px;
    line-height: 14px;
    color: #fff;
    background-color: #119D9F;
    border-radius: 7px;
  }
  /* Help Center and Track Order, moved into the menu panel. */
  body.hidp-ph-compact .hidp-ph-menu-links {
    display: block;
    margin: 12px 16px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  body.hidp-ph-compact .hidp-ph-menu-links a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    color: #fff;
    font-size: 14px;
  }
  /* Sticky: the header (now a single row) stays at the top while scrolling. */
  body.hidp-ph-sticky #masthead {
    position: sticky;
    top: 0;
    z-index: 1046; /* above page content and the panel backdrop; its own panels sit inside it */
  }
  body.hidp-ph-compact .top-logo-wrapper.fixed-header {
    position: relative; /* the older "Sticky Header" option's fixed row is not needed with this header */
    z-index: auto;
  }
}
@media screen and (min-width: 601px) and (max-width: 767px) {
  body.admin-bar.hidp-ph-sticky #masthead {
    top: 46px; /* the admin bar is fixed from 601px */
  }
}
@media screen and (max-width: 600px) {
  body.admin-bar.hidp-ph-compact #wpadminbar {
    top: -46px; /* logged in: the theme positions <body>, so the admin bar (absolute below 601px) would sit 46px low, over the header */
  }
}

/* Phones: slim page banner (Theme Settings > Responsive Settings > Slim Page Banner on Phones). */
@media screen and (max-width: 767px) {
  body.hidp-ph-slim-banner .banner_title_box {
    padding: 12px 0;
  }
  body.hidp-ph-slim-banner .banner_title_box .title-banner-content {
    margin-top: 0;
  }
  body.hidp-ph-slim-banner .banner_title_box h1 {
    margin: 0 0 2px;
    padding: 0;
    font-size: 20px;
    line-height: 1.25;
  }
  body.hidp-ph-slim-banner .banner_title_box .tp_breadcrumbs,
  body.hidp-ph-slim-banner .banner_title_box .tp_breadcrumbs a,
  body.hidp-ph-slim-banner .banner_title_box .tp_breadcrumbs span {
    padding-top: 0;
    padding-bottom: 0;
    font-size: 12px;
  }
  /* One line: a long current page or post title, already in the heading above, is cut short. */
  body.hidp-ph-slim-banner .banner_title_box .tp_breadcrumbs {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* Product pages: the product title follows, so no banner; WooCommerce's breadcrumb stays. */
  body.hidp-ph-slim-banner.single-product .banner_title_box {
    display: none;
  }
  /* Shop and product category/tag pages: the banner already has a breadcrumb trail. */
  body.hidp-ph-slim-banner.post-type-archive-product .woocommerce-breadcrumb,
  body.hidp-ph-slim-banner.tax-product_cat .woocommerce-breadcrumb,
  body.hidp-ph-slim-banner.tax-product_tag .woocommerce-breadcrumb {
    display: none;
  }
}

/* Product pages on phones (Theme Settings > Responsive Settings > Product Add to Cart on Phones). */
.hidp-sticky-cart {
  display: none;
}
@media screen and (max-width: 767px) {
  /* A larger quantity box and a full-width Add to cart button. */
  body.hidp-ph-cart.single-product div.product form.cart:not(.variations_form),
  body.hidp-ph-cart.single-product div.product .woocommerce-variation-add-to-cart {
    display: flex;
    gap: 10px;
    align-items: stretch;
  }
  body.hidp-ph-cart.single-product div.product form.cart .quantity .qty {
    width: 64px;
    height: 48px;
    font-size: 16px;
  }
  body.hidp-ph-cart.single-product div.product form.cart .single_add_to_cart_button {
    flex: 1 1 auto;
    height: 48px;
    margin: 0;
    font-size: 15px;
  }
  /* The bar at the bottom of the screen while the page's own button is out of view. */
  body.hidp-ph-cart .hidp-sticky-cart:not([hidden]) {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    background: #fff;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.12);
  }
  .hidp-sticky-cart-info {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
  }
  .hidp-sticky-cart-title {
    overflow: hidden;
    color: #141B22;
    font-size: 13px;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .hidp-sticky-cart-price {
    color: var(--color-primary);
    font-size: 15px;
    font-weight: 700;
  }
  .hidp-sticky-cart-price del {
    color: #999;
    font-size: 12px;
    font-weight: 400;
  }
  .hidp-sticky-cart-button {
    flex: 0 0 auto;
    height: 44px;
    padding: 0 20px;
    border: 0;
    border-radius: 30px;
    background-color: var(--color-primary);
    color: #fff;
    font-weight: 700;
  }
  body.hidp-sticky-cart-on {
    padding-bottom: 64px; /* the bar never covers the end of the page */
  }
  body.hidp-sticky-cart-on .scrollup {
    bottom: 80px;
  }
}

/* Shop pages on phones: Filter button and side panel (Theme Settings > Responsive Settings > Shop Filter Panel on Phones).
   Hidden on larger screens, where the sidebar shows beside the products. */
.hidp-filter-toggle,
.hidp-filter-close {
  display: none;
}
@media screen and (max-width: 767px) {
  body.hidp-ph-filters .hidp-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    float: left;
    height: 40px;
    margin: 0 0 16px;
    padding: 0 16px;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    background: #fff;
    color: #141B22;
    font-weight: 600;
  }
  body.hidp-ph-filters .woocommerce-result-count {
    float: none;
    width: 100%;
  }
  body.hidp-ph-filters .woocommerce-ordering {
    float: right;
  }
  body.hidp-ph-filters .woocommerce-ordering select {
    height: 40px;
  }
  body.hidp-ph-filters:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1050; /* above the sticky phone header */
    width: min(320px, 85vw);
    margin: 0;
    padding: 56px 16px 24px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.2);
    transform: translateX(-105%);
    visibility: hidden;
    transition: transform 0.25s ease, visibility 0s linear 0.25s; /* stays visible while sliding out */
  }
  body.hidp-ph-filters.hidp-filters-open #sidebar {
    transform: none;
    visibility: visible;
    transition: transform 0.25s ease, visibility 0s; /* visible at once, so focus can move into it */
  }
  body.admin-bar.hidp-ph-filters:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #sidebar {
    top: 46px; /* logged in: below the admin bar */
  }
  body.hidp-ph-filters .hidp-filter-close {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 8px;
    right: 8px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #141B22;
    font-size: 28px;
    line-height: 1;
  }
  .hidp-filter-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1049;
    background: rgba(0, 0, 0, 0.5);
  }
  body.hidp-filters-open {
    overflow: hidden;
  }
}

/* Product grids on phones (Theme Settings > Responsive Settings > Compact Product Cards on Phones): names up to two
   lines, a larger price, equal-height cards with the button along the bottom. */
@media screen and (max-width: 767px) {
  body.hidp-ph-cards.woocommerce ul.products,
  body.hidp-ph-cards .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 12px;
  }
  body.hidp-ph-cards.woocommerce ul.products::before,
  body.hidp-ph-cards.woocommerce ul.products::after,
  body.hidp-ph-cards .woocommerce ul.products::before,
  body.hidp-ph-cards .woocommerce ul.products::after {
    display: none; /* WooCommerce's float clearfix */
  }
  body.hidp-ph-cards.woocommerce ul.products li.product,
  body.hidp-ph-cards .woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
    float: none;
    width: auto;
    margin: 0;
  }
  body.hidp-ph-cards.woocommerce ul.products li.product .woocommerce-loop-product__link,
  body.hidp-ph-cards .woocommerce ul.products li.product .woocommerce-loop-product__link {
    flex: 1 1 auto;
  }
  body.hidp-ph-cards.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.hidp-ph-cards .woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    min-height: 2.7em; /* two lines, so prices line up */
    margin: 6px 0 4px;
    padding: 0; /* clipped lines would show through padding */
    overflow: hidden;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  body.hidp-ph-cards.woocommerce ul.products li.product .price,
  body.hidp-ph-cards .woocommerce ul.products li.product .price {
    font-size: 16px;
    font-weight: 700;
  }
  body.hidp-ph-cards.woocommerce ul.products li.product .price del,
  body.hidp-ph-cards .woocommerce ul.products li.product .price del {
    font-size: 12px;
    font-weight: 400;
  }
  body.hidp-ph-cards.woocommerce ul.products li.product .button,
  body.hidp-ph-cards .woocommerce ul.products li.product .button {
    align-self: center;
    margin-top: 4px;
  }
}

/* Phones: touch and text sizes (Theme Settings > Responsive Settings > Phone Touch and Text Sizes).
   Stand-alone links get at least 24px of height (WCAG 2.2 target size), small labels at least 12px. */
@media screen and (max-width: 767px) {
  body.hidp-ph-touch .logo-inner > a,
  body.hidp-ph-touch .category-media-body > a,
  body.hidp-ph-touch a.promo-link,
  body.hidp-ph-touch .product-title-box h5 a,
  body.hidp-ph-touch .discount-products-body h5 a,
  body.hidp-ph-touch .testimonial-title a,
  body.hidp-ph-touch .news_content h5 a,
  body.hidp-ph-touch .credit_link a,
  body.hidp-ph-touch .tp_breadcrumbs a,
  body.hidp-ph-touch .woocommerce-breadcrumb a,
  body.hidp-ph-touch .woocommerce-review-link,
  body.hidp-ph-touch .product_meta a,
  body.hidp-ph-touch .news_content a.read-more,
  body.hidp-ph-touch .entry-author a,
  body.hidp-ph-touch a:has(> .entry-comments),
  body.hidp-ph-touch .widget li a {
    display: inline-block;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  body.hidp-ph-touch .footer-details ul li {
    margin-bottom: 0;
  }
  body.hidp-ph-touch .footer-details ul li a {
    display: inline-block;
    padding: 5px 0;
  }
  /* Carousel dots: the dot stays small, the button around it is 24px. */
  body.hidp-ph-touch .owl-dots .owl-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    min-height: 24px;
  }
  body.hidp-ph-touch .cart-block sup,
  body.hidp-ph-touch .custom_product_meta a.button {
    font-size: 12px;
  }
  /* Scroll-to-top: 44px on phones (the Customizer size applies on larger screens). */
  body.hidp-ph-touch .scrollup {
    width: 44px;
    height: 44px;
    padding: 0;
  }
  body.hidp-ph-touch .scrollup span:not(.screen-reader-text) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  body.hidp-ph-touch .scrollup i {
    font-size: 16px;
  }
}

/* Phones: collapsible menu (Theme Settings > Responsive Settings > Collapsible Phone Menu). */
.hidp-sub-toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  body.hidp-ph-menu-accordion #sidebar1 .menu-item-has-children {
    position: relative;
  }
  body.hidp-ph-menu-accordion #sidebar1 .menu-item-has-children > a {
    padding-right: 44px;
  }
  body.hidp-ph-menu-accordion #sidebar1 .menu-item-has-children > a:after {
    display: none; /* the toggle button shows the arrow */
  }
  body.hidp-ph-menu-accordion #sidebar1 .menu-item-has-children > .sub-menu {
    display: none !important; /* the menu's phone styles force submenus open */
  }
  body.hidp-ph-menu-accordion #sidebar1 .menu-item-has-children.hidp-sub-open > .sub-menu {
    display: block !important;
  }
  body.hidp-ph-menu-accordion #sidebar1 .hidp-sub-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 14px;
  }
  body.hidp-ph-menu-accordion #sidebar1 .hidp-sub-toggle i {
    transition: transform 0.2s;
  }
  body.hidp-ph-menu-accordion #sidebar1 .hidp-sub-open > .hidp-sub-toggle i {
    transform: rotate(180deg);
  }
  .hidp-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1045; /* below the header, whose menu panel opens above it */
    background: rgba(0, 0, 0, 0.5);
  }
}
@media screen and (max-width: 767px) {
  body.admin-bar.hidp-ph-menu-accordion #sidebar1 {
    top: 46px; /* logged in: the menu's close button below the admin bar */
    height: calc(100% - 46px);
  }
}

/* Home Page on phones (Theme Settings > Home Page on Phones). The fallback View all link shows on phones only. */
.hidp-ph-view-all {
  display: none;
}
@media screen and (max-width: 767px) {
  /* Main Slider First: the slider above the two sale boxes. */
  body.hidp-ph-slider-first .main-carousel .slider-block {
    order: -1;
  }
  /* Best Sellers as a Swipeable Row: one row of cards to swipe, the next card peeking in. */
  body.hidp-ph-bs-row .hidp-ph-view-all {
    display: block;
  }
  body.hidp-ph-bs-row #best-seller .section_main_head .row {
    align-items: center;
  }
  body.hidp-ph-bs-row #best-seller .section_main_head .row > div {
    width: auto;
    flex: 1 1 auto;
  }
  body.hidp-ph-bs-row #best-seller .section_main_head .row > div:last-child {
    flex: 0 0 auto;
  }
  body.hidp-ph-bs-row #best-seller .product_block {
    flex-wrap: nowrap;
    gap: 12px;
    margin: 0 -16px 0 0;
    padding: 0 16px 8px 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }
  body.hidp-ph-bs-row #best-seller .product_block::-webkit-scrollbar {
    display: none;
  }
  body.hidp-ph-bs-row #best-seller .product_block > .best-selling-col {
    flex: 0 0 46%;
    width: 46%;
    max-width: 46%;
    margin-bottom: 0;
    padding: 0;
    scroll-snap-align: start;
  }
}

/* Home Page on Phones > Shop By Category Items per Row: with 2 or 3 per row, the category cards fill their slot
   (up to their usual 176px) with a thinner border, smaller text and a smaller arrow button. */
@media screen and (max-width: 767px) {
  #all-category:is([data-phone-items="2"], [data-phone-items="3"]) .cat_block {
    width: calc(100% - 8px);
    max-width: 176px;
    padding-bottom: 20px; /* keeps the item count clear of the arrow button */
    border-width: 6px;
  }
  #all-category:is([data-phone-items="2"], [data-phone-items="3"]) .owl-item .cat_img img {
    max-width: 100%;
    height: auto;
    border-width: 4px;
  }
  #all-category:is([data-phone-items="2"], [data-phone-items="3"]) .category-media-body {
    padding: 4px 4px 0;
  }
  #all-category:is([data-phone-items="2"], [data-phone-items="3"]) .cat_block a {
    font-size: 13px;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }
  #all-category:is([data-phone-items="2"], [data-phone-items="3"]) .product-category-count {
    font-size: 12px;
  }
  #all-category:is([data-phone-items="2"], [data-phone-items="3"]) .cat_block .link-arrow a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    bottom: -17px;
    font-size: 13px;
  }
  #all-category:is([data-phone-items="2"], [data-phone-items="3"]) .owl-stage-outer {
    padding-bottom: 20px; /* room for the arrow buttons below the cards */
  }
}

/* Home Page on Phones > Best Sellers Rows: 2 or 3 rows of products scrolling sideways together (filled column by
   column), each column 46% wide so the next one peeks in. */
@media screen and (max-width: 767px) {
  body.hidp-ph-bs-row #best-seller:is([data-phone-rows="2"], [data-phone-rows="3"]) .product_block {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 46%;
    row-gap: 16px;
    column-gap: 12px;
  }
  body.hidp-ph-bs-row #best-seller[data-phone-rows="2"] .product_block {
    grid-template-rows: repeat(2, auto);
  }
  body.hidp-ph-bs-row #best-seller[data-phone-rows="3"] .product_block {
    grid-template-rows: repeat(3, auto);
  }
  body.hidp-ph-bs-row #best-seller:is([data-phone-rows="2"], [data-phone-rows="3"]) .product_block > .best-selling-col {
    width: auto;
    max-width: none;
    margin-bottom: 0 !important; /* Bootstrap mb-4 on the cards; row-gap spaces the rows */
  }
}

/* Phones: cart icon buttons on product cards (Theme Settings > Responsive Settings > Cart Icon Buttons on Phones).
   WooCommerce's own button stays (adding to the cart, its accessible label and the cart count keep working); it is
   drawn as a 44px round icon on the price line: cart = add, arrow = choose options, tick = added. */
@media screen and (max-width: 767px) {
  body.hidp-ph-cart-icons .custom_product_meta a.button,
  body.hidp-ph-cart-icons ul.products li.product a.button {
    position: relative;
    display: inline-flex !important; /* the theme sets display: table on these buttons */
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin: 0;
    padding: 0 !important;
    border-radius: 50%;
    background-color: var(--color-primary);
    color: #fff;
    font-size: 0;
    line-height: 0;
  }
  body.hidp-ph-cart-icons .custom_product_meta a.button::before,
  body.hidp-ph-cart-icons ul.products li.product a.button::before {
    content: "\f291"; /* cart (basket), as in the header */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 16px;
    line-height: 1;
    color: #fff;
  }
  body.hidp-ph-cart-icons ul.products li.product a.button:not(.add_to_cart_button)::before {
    content: "\f061"; /* products with options open their page */
  }
  body.hidp-ph-cart-icons ul.products li.product a.button.product_type_simple:not(.add_to_cart_button) {
    display: none; /* out of stock ("Read more"): the card itself links to the product */
  }
  body.hidp-ph-cart-icons .custom_product_meta a.button.added::before,
  body.hidp-ph-cart-icons ul.products li.product a.button.added::before {
    content: "\f00c";
  }
  body.hidp-ph-cart-icons .custom_product_meta a.button.added::after,
  body.hidp-ph-cart-icons ul.products li.product a.button.added::after,
  body.hidp-ph-cart-icons .custom_product_meta a.added_to_cart,
  body.hidp-ph-cart-icons ul.products li.product a.added_to_cart {
    display: none; /* the tick replaces WooCommerce's "View cart" link; the header cart count updates */
  }
  body.hidp-ph-cart-icons .custom_product_meta a.button.loading::before,
  body.hidp-ph-cart-icons ul.products li.product a.button.loading::before {
    visibility: hidden;
  }
  body.hidp-ph-cart-icons .custom_product_meta a.button.loading::after,
  body.hidp-ph-cart-icons ul.products li.product a.button.loading::after {
    position: absolute;
    inset: 0;
    width: 16px;
    height: 16px;
    margin: auto;
    font-size: 16px;
    line-height: 16px;
    text-align: center;
    transform: none;
  }

  /* Home page rows: title on top, then price and cart icon on one line (Deals: stock bar below). */
  body.hidp-ph-cart-icons :is(#best-seller, #brand-new-products, #blockbustor-deals) .product-title-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 1fr auto auto;
    column-gap: 8px;
    align-items: center;
    text-align: left;
  }
  body.hidp-ph-cart-icons :is(#best-seller, #brand-new-products, #blockbustor-deals) .product-title-box > h5 {
    grid-column: 1 / -1;
    grid-row: 1;
    align-self: start;
  }
  body.hidp-ph-cart-icons :is(#best-seller, #brand-new-products, #blockbustor-deals) .product-title-box > .price-rating-block {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
  }
  body.hidp-ph-cart-icons :is(#best-seller, #brand-new-products, #blockbustor-deals) .product-title-box > .custom_product_meta {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
  }
  body.hidp-ph-cart-icons :is(#best-seller, #brand-new-products, #blockbustor-deals) .product-title-box > .product-stock-progress {
    grid-column: 1 / -1;
    grid-row: 3;
    margin: 8px 0 0;
  }

  /* Shop, category and related product grids: the icon at the bottom right, level with the price. */
  body.hidp-ph-cart-icons ul.products li.product {
    position: relative;
    text-align: left;
  }
  body.hidp-ph-cart-icons ul.products li.product .woocommerce-loop-product__title {
    text-align: left;
  }
  /* The price at the bottom of the card, on the icon's line, however long the name. */
  body.hidp-ph-cart-icons ul.products li.product .woocommerce-loop-product__link {
    display: flex;
    flex-direction: column;
  }
  body.hidp-ph-cart-icons ul.products li.product .woocommerce-loop-product__link .price {
    margin-top: auto;
  }
  body.hidp-ph-cart-icons ul.products li.product a.button {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0 !important; /* theme and card rules add top/bottom margins that would lift it off the price line */
  }
  body.hidp-ph-cart-icons ul.products li.product .price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 4px;
    min-height: 44px;
    margin-bottom: 0;
    padding-right: 52px;
  }
  body.hidp-ph-cart-icons ul.products li.product .star-rating {
    margin-left: 0;
  }
}

/* Phones: section button beside the heading (Theme Settings > Home Page on Phones > Section Buttons Beside
   Headings). The heading takes the room left by a smaller button and wraps if it must. */
@media screen and (max-width: 767px) {
  body.hidp-ph-head-row .section_main_head > .row:has(.product-btn) {
    flex-wrap: nowrap;
    align-items: center;
  }
  body.hidp-ph-head-row .section_main_head > .row:has(.product-btn) > div:first-child {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }
  body.hidp-ph-head-row .section_main_head > .row:has(.product-btn) > div:last-child {
    flex: 0 0 auto;
    width: auto;
    max-width: 50%;
    padding-left: 0;
  }
  body.hidp-ph-head-row .section_main_head > .row:has(.product-btn) h3 {
    margin-bottom: 0;
    font-size: 20px;
    text-align: left;
  }
  body.hidp-ph-head-row .section_main_head .product-btn {
    margin-top: 0;
    text-align: right;
  }
  body.hidp-ph-head-row .section_main_head .product-btn a {
    padding: 9px 12px;
    font-size: 11px;
    line-height: 1.2;
  }
}

/* Tablets and computers: compact page banner (Theme Settings > General Settings > Compact Page Banner).
   The banner image becomes the background of a slim title bar instead of setting the banner's height. */
@media screen and (min-width: 768px) {
  body.hidp-compact-banner .banner_title_box {
    padding: 34px 0;
    margin-bottom: 32px;
    background-size: cover;
    background-position: center;
  }
  body.hidp-compact-banner .banner_title_box > img {
    display: none;
  }
  body.hidp-compact-banner .banner_title_box .content_on_banner {
    position: relative;
    height: auto;
    z-index: 1;
  }
  body.hidp-compact-banner .banner_title_box .title-banner-content {
    margin-top: 0;
  }
  body.hidp-compact-banner .banner_title_box h1 {
    margin: 0 0 6px;
    padding: 0;
    line-height: 1.2;
  }
  body.hidp-compact-banner .banner_title_box .tp_breadcrumbs {
    padding: 0;
    margin: 0;
  }
}
