/*
Theme Name: Dental Blocks
Theme URI: https://www.ovationthemes.com/products/free-dental-wordpress-theme
Author: pewilliams
Author URI: https://www.ovationthemes.com/
Description: Dental Blocks is a user-friendly website template designed for dental clinics and practitioners looking to establish a professional online presence. Designed for dental care, dental clinic, orthodontics, dental practice, oral health, dental hygiene, teeth whitening, dental implants, dental surgery, dental consulting and dental professionals. This theme provides a visually appealing and easy-to-navigate platform for showcasing dental services, introducing dental professionals, and offering important information to patients. With a clean and modern design, the Dental Blocks theme caters to the unique needs of dental practices. It includes sections for services like cleanings, fillings, and cosmetic procedures, allowing clinics to effectively communicate the range of treatments they offer. The theme also incorporates a gallery or portfolio feature to showcase before-and-after images, highlighting successful dental transformations. This theme is suitable for dental clinics, individual practitioners, and dental-related businesses. Its versatile design accommodates different types of dental practices, whether it’s a family-oriented clinic, a specialized cosmetic dentistry service, or a general dental practice. Users can easily customize the Dental Blocks theme to match their brand identity. The intuitive interface allows for simple modifications to colors, fonts, and images, ensuring that the website aligns with the clinic’s unique style. The theme may also include appointment booking functionality, streamlining the scheduling process for both the clinic and patients. Demo: https://trial.ovationthemes.com/dental-insight-pro/
Requires at least: 6.1
Tested up to: 6.9
Requires PHP: 5.6
Version: 4.5
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
Text Domain: dental-blocks
Tags: blog, portfolio, e-commerce, one-column, two-columns, custom-colors, custom-menu, custom-logo, sticky-post, threaded-comments, right-sidebar, left-sidebar, grid-layout, custom-background, rtl-language-support, featured-images, wide-blocks, editor-style, full-site-editing, block-patterns, block-styles, style-variations, template-editing, translation-ready

Dental Blocks WordPress Theme, Copyright 2024 pewilliams
Dental Blocks is distributed under the terms of the GNU GPL

*/

a{
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
a:focus,
button:focus{
	outline: 2px solid blue !important;
}
.wp-block-navigation ul li{
    padding: 4px 8px;
}
.wp-block-navigation ul ul li{
    padding: 0;
}
.wp-block-navigation ul li:hover{
    background-color: var(--wp--preset--color--primary) !important;
    padding: 4px 8px;
    border-radius: 30px;
}

/* Footer SERVICES list — converted from nav-links to editable text (data-field). */
.spfm-footer-services{
    list-style: none;
    margin: 0;
    padding: 0;
}
.spfm-footer-services li{
    position: relative;
    padding-left: 18px;
    margin-bottom: 12px;
}
.spfm-footer-services li:last-child{
    margin-bottom: 0;
}
.spfm-footer-services li::before{
    content: '';
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fe8086;
}
.spfm-footer-services span{
    font-weight: 600;
}
.wp-block-navigation ul ul li:hover{
    border-radius: 0;
    padding: 0;
    background: transparent;
}

@media screen and (min-width:1000px){
    .wp-block-navigation ul ul li a:hover,
    .wp-block-navigation ul ul li a:focus,
    .wp-block-navigation__submenu-container .current-menu-item a{
        color: var(--wp--preset--color--primary) !important;
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container{  
        border-top: 2px solid var(--wp--preset--color--primary);
        border-bottom: 2px solid var(--wp--preset--color--primary);
        box-shadow: 2px 2px 8px #cfc8d8;
    }
    .wp-block-navigation ul ul li a{
        border-bottom: 1px solid var(--wp--preset--color--border-color);
        color: var(--wp--preset--color--primary) !important;
    }
    .wp-block-navigation ul li:last-child a{
        border-bottom: none;
    }
    .wp-block-navigation ul ul li a:hover,
    .wp-block-navigation ul ul li a:focus,
    .wp-block-navigation__submenu-container .current-menu-item a{
        background-color: var(--wp--preset--color--primary-light) !important;
    }
}
.wp-block-navigation ul ul{
    padding: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container{
    width: 100%;
    border: 1px solid var(--wp--preset--color--border-color);
    border-top-color: var(--wp--preset--color--primary);
    border-bottom-color: var(--wp--preset--color--primary);
}
.wp-block-navigation__responsive-container.is-menu-open li a,
.wp-block-navigation__responsive-container.is-menu-open li li a,
.wp-block-navigation__responsive-container.is-menu-open li li:last-child a{
    border-bottom: 1px solid var(--wp--preset--color--border-color);
}
.wp-block-navigation__responsive-container.is-menu-open li:last-child a{
    border-bottom: none;
}
.wp-block-navigation__responsive-container.is-menu-open li a:hover,
.wp-block-navigation__responsive-container.is-menu-open li a:focus,
.wp-block-navigation__responsive-container.is-menu-open li.current-menu-item a{
    background-color: var(--wp--preset--color--primary-light) !important;
    color: var(--wp--preset--color--primary) !important;
}
.wp-block-navigation .wp-block-navigation__submenu-icon{
    background: transparent;
}
@media screen and (max-width:999px) {
    .wp-block-navigation__responsive-container,
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{
        display: none;
    }

    .wp-block-navigation__responsive-container-close svg,
    .wp-block-navigation__responsive-container-open svg{
        width: 26px;
        height: 26px;
    }
    
    .wp-block-navigation__responsive-container-open svg{
        fill: var(--wp--preset--color--heading);
    }
    .wp-block-navigation__responsive-container-close svg{
        fill: var(--wp--preset--color--black);
    }

    .wp-block-navigation__responsive-container-close{
        top: 0;
        right: 20px;
    }

    .wp-block-navigation__responsive-container-open:not(.always-shown){
        display: block;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none; 
    }

    .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
        background-color: var(--wp--preset--color--white);
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
        padding: 1.5em;
        padding-top: 2.5rem;
    }

    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container {
        width: 100%;
        gap: 0 !important;
        border-bottom: none;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item {
        width: 100%;
        gap: 0 !important;
        border: none !important;
        padding: 0;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item a {
        width: calc( 100% - 48px );
        padding: 12px 24px 12px;
        line-height: 30px;
        text-align: left;
    }

    /*
    * Submenu Css
    */
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
        width: 100%;
        gap: 0;
        margin: 0;
        padding: 0;
        box-shadow: none;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a{
        gap: 3px;
        font-weight: 300 !important;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a:before {
        content: '--';
    }
}
.wp-block-image img{
    vertical-align: middle;
}

.pos-relative{
    position: relative;
}

form {
    position: relative;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
    width: 100%;
    margin: 0;
    padding: 10px 15px;
    border: 1px solid var(--wp--preset--color--border-color);
    outline: 0;
    resize: none;
    line-height: 20px;
    background: none;
    color: var(--wp--preset--color--foreground);
    font-weight: 400;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
select option{
    background: var(--wp--preset--color--base);
    color: var(--wp--preset--color--foreground);
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
select::-ms-expand {
    display: none; /* hide the default arrow in ie10 and ie11 */
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
    border-color: var(--wp--preset--color--primary);
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    cursor: pointer;
    border: none;
    padding: 12px 20px;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: var(--wp--preset--color--primary);
    border-radius: 0;
}
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    text-align: center;
    letter-spacing: 2px;
}

.wpcf7-form label {
    display: block;
    text-transform: uppercase;
    font-size: 12px;
    margin: 0 0 8px;
    color: var(--wp--preset--color--foreground);
    font-weight: 700;
}

.form-group {
    margin-bottom: 30px;
}

.form-group p{
    margin: 0;
}

.form-group.half {
    width: 48%;
    margin-right: 4%;
    float: left;
}

.form-group.half.last {
    margin-right: 0;
}

.form-group.third {
    width: 32%;
    margin-right: 2%;
    float: left;
}

.form-group.third.last {
    margin-right: 0;
}
/*sidebar css*/
.sidebar-box,.inner-post-box{
    position: relative;
    box-shadow: 0px 4px 9px var(--wp--preset--color--sidebar-shadow-color);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.sidebar-box:hover{
    transform: translateY(-6px);
    box-shadow:0 18px 40px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(0, 0, 0, 0.20);
}
.sidebar-heading{
    display: table;
    position: absolute;
    left: 0;
    right: 0;
    top: -25px;
    width: auto;
}
.sidebar-post-title{
    margin-block-start: 10px;
    margin-block-end: 0;
}
.sidebar-box .wp-block-page-list  ul li{
    list-style: square;
}
.sidebar-box .wp-block-archives-list li ,
.sidebar-box .wp-block-categories-list li,
.sidebar-box .wp-block-page-list li{
    list-style: circle;

}
.sidebar-box .wp-block-archives-list li::marker,
.sidebar-box .wp-block-categories-list li::marker,
.sidebar-box .wp-block-page-list li::marker{
    color: var(--wp--preset--color--primary);
}
.sidebar-box .wp-block-archives-list,.sidebar-box .wp-block-categories-list{
    padding-left: 20px;
}
.sidebar-box ul li a{
    text-decoration: none;
}
.sidebar-box .wp-block-tag-cloud a{
    background: var(--wp--preset--color--primary-light);
    color: var(--wp--preset--color--black);
}
.sidebar-box .wp-block-tag-cloud a:hover{
    background: var(--wp--preset--color--background);
    color: var(--wp--preset--color--primary);
}
.sidebar-box ul li{
    transition: all .6s ease-in-out;
}
.sidebar-box ul li:hover{
    padding-left: 15px;
}
/*post css*/
.post-title{
    position: relative;
}
.post-title .wp-block-separator{
    width: 57px !important;
}
.post-title .wp-block-separator:after{
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: var(--wp--preset--color--primary);
    top: 0;
    bottom: 0;
    margin: auto;
}
.archieve-readmore .wp-block-separator{
    width: 20px !important;
}
/*comment*/
.wp-block-comments{
    padding: 20px;
    border: 1px solid var(--wp--preset--color--border-color);
}
.wp-block-comment-template li .wp-block-columns{
    border: 1px solid var(--wp--preset--color--border-color);
    padding: 20px;
}
.wp-block-avatar img{
    border: 1px solid var(--wp--preset--color--border-color);
    padding: 2px;
}
.wp-block-post-comments-form textarea{
    background: var(--wp--preset--color--section-bg);
}
.single-post .post-meta .wp-block-post-author{
    align-items: center;
}
.single-post .wp-block-comments .comment-respond .comment-form .comment-form-cookies-consent{
    align-items: flex-start;
}
.single-post .wp-block-post-featured-image img{
    height: 400px;
    width: 400px;
    object-fit: contain;
 transform: translateY(10px);
    transition: all 0.4s ease;
}
.single-post .wp-block-post-featured-image img:hover{
    transform: translateY(0px);
}
.single-post .related-post .wp-block-post-featured-image img{
    height: 200px;
    width: 100%;
}
form.woocommerce-ordering select.orderby{
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
}
.woocommerce-page .wp-block-breadcrumbs + .wp-block-query-title{
    display: none;
}

/*pagination*/
.wp-block-query-pagination-numbers .page-numbers{
    padding: var(--wp--preset--spacing--20);
    line-height: 1;
    text-decoration: none;
    color:var(--wp--preset--color--primary);
}
.wp-block-query-pagination-numbers .page-numbers.current{
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white) !important;
}
.wp-block-query-pagination-numbers .page-numbers:hover{
    color:var(--wp--preset--color--heading);
}
.wp-block-query-pagination-next, .wp-block-query-pagination-previous{
    background-color: var(--wp--preset--color--primary);
    font-size: var(--wp--preset--font-size--small);
    line-height: 1;
    padding: 10px;
    color: var(--wp--preset--color--white);
    text-decoration: none;
}
.wp-block-query-pagination-next:hover, .wp-block-query-pagination-previous:hover{
    color: var(--wp--preset--color--background);
    background-color: var(--wp--preset--color--heading);
}

/*woocommerce*/
.wp-block-group.woocommerce.product{
    margin-block-start: 0;
}
.wc-block-product,
.wc-block-grid__product,
.woocommerce .products li,
.wp-block-woocommerce-related-products li,
.products-block-post-template li{
    text-align: center;
    padding: 10px !important;
    background: var(--wp--preset--color--section-bg);
}
.wc-block-grid__product{
    margin: 0 10px;
}
a.wc-block-grid__product-link,.wc-block-grid__product-image,.wc-block-grid__products .wc-block-grid__product-image img {
    width: 100%;
}
.wc-block-components-product-rating__stars,.wc-block-grid__product-rating,.woocommerce .star-rating {
    margin: 0 auto 0.5em;
    color: #f4bc16;
}
.wc-block-components-product-rating__stars::before,.wc-block-grid__product-rating .star-rating:before{
    color: #cfc8d8;
}
.woocommerce span.onsale,.wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale{
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    padding: 0;
    border-radius: 0px;
    margin: 5px !important;
    min-height: 8px;
    line-height: 26px;
    min-width: 60px;
}
nav.woocommerce-MyAccount-navigation ul li {
    background: var(--wp--preset--color--primary);
    border: 1px solid;
    border-color: var(--wp--preset--color--primary);
    padding: 12px!important;
    margin-bottom: 10px;
}
nav.woocommerce-MyAccount-navigation ul li:hover {
    background: var(--wp--preset--color--heading);
    border-color: var(--wp--preset--color--heading);
}
nav.woocommerce-MyAccount-navigation ul li a{
    color: var(--wp--preset--color--white);
}
nav.woocommerce-MyAccount-navigation ul li:hover a{
    color: var(--wp--preset--color--background);
}
.woocommerce ul.products li.product .button{
    padding: var(--wp--preset--spacing--30);
    border-radius: 30px;
}
.woocommerce a.added_to_cart,
.added_to_cart.wc-forward,
.single-product .wp-block-woocommerce-store-notices .wc-forward{
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    border-radius: 0;
    padding: var(--wp--preset--spacing--30);
    text-decoration: none;
    display: inline-block;
    margin-top: 0;
}
.single-product .wp-block-woocommerce-store-notices .wc-forward{
    background-color: var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--white) !important;
    padding: 10px !important;
    opacity: 1;
}
.single-product .wp-block-woocommerce-store-notices .wc-block-components-notice-banner,
.single-product .wp-block-woocommerce-store-notices .wc-block-components-notice-banner .wc-block-components-notice-banner__content{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.woocommerce a.added_to_cart:hover, .added_to_cart.wc-forward:hover{
    background-color: var(--wp--preset--color--heading);
    color: var(--wp--preset--color--white);
}
.added_to_cart.wc-forward{
    margin-left: 10px;
}
.wc-block-components-product-badge{
    box-shadow: 2px 2px 0 0 var(--wp--preset--color--heading);
    border-radius: 0 !important;
    border: solid 2px var(--wp--preset--color--heading) !important;
    padding: 5px 8px !important;
}
.wc-block-grid__product .wc-block-grid__product-title,.wc-block-components-product-name,h2.woocommerce-loop-product__title,.woocommerce-Tabs-panel h2{
  font-size: 18px !important;
  font-weight: bold;
}
.woocommerce #review_form #respond textarea{
   background: var(--wp--preset--color--section-bg);
    border: 1px solid var(--wp--preset--color--border-color);
}
.woocommerce-Tabs-panel--reviews,.wc-block-checkout__form,.woocommerce-Tabs-panel--description{
    padding: 20px !important;
    border: 1px solid var(--wp--preset--color--border-color);
}
.wc-block-checkout__form, .wp-block-woocommerce-checkout-order-summary-block,.wc-block-checkout__actions_row a:hover{
    color: var(--wp--preset--color--heading);
}
.wc-block-components-sidebar-layout.wc-block-cart{
    padding-top: 30px;
}
.wc-block-cart{
    border: 1px solid var(--wp--preset--color--border-color);
    padding: 30px;
    border-radius: 10px;
    color: var(--wp--preset--color--heading);
}
.is-large.wc-block-cart .wc-block-cart-items td:after ,.is-large.wc-block-cart .wc-block-cart-items:after {
    border-color: transparent;
}
.wc-block-cart .wc-block-cart-items th,.wp-block-woocommerce-cart-order-summary-block .wc-block-cart__totals-title, .wp-block-woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block, .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper{
    padding: 10px !important;
}
.wc-block-cart table.wc-block-cart-items{
    margin: 0 !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items,.wc-block-cart-items__header,.wp-block-woocommerce-checkout-order-summary-block,.wp-block-woocommerce-cart-order-summary-block,.woocommerce-Tabs-panel--description,.is-large.wc-block-cart .wc-block-cart-items{
    border: 1px solid var(--wp--preset--color--border-color);
}
.wc-block-components-totals-wrapper:after{
    border-color:  var(--wp--preset--color--border-color);
    opacity: 1 !important;
}
.wc-block-cart__submit-container a{
    margin-top: 15px;
}
.wc-block-checkout__actions_row a{
    color: var(--wp--preset--color--primary);
}
.wc-block-checkout__actions_row a:hover{
    color: var(--wp--preset--color--heading);
}
.wp-block-woocommerce-cart.alignwide, .wp-block-woocommerce-checkout.alignwide.wc-block-checkout {
    margin-right: auto !important;
    margin-left: auto !important;
}
.wc-block-components-sidebar-layout .wc-block-components-main {
    padding-right: 0 !important;
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:hover {
    background: transparent;
}
@media screen and (max-width:999px){
    .woocommerce-page.search .wp-block-woocommerce-product-template,
    .woocommerce-page .products-block-post-template,
    .wp-block-woocommerce-related-products .wp-block-post-template{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .woocommerce-page .wp-block-query-title{
        font-size: 30px !important;
    }
    .wc-block-components-totals-wrapper{
        padding: 16px 22px;
    }
    .wc-block-cart{
        padding: 0;
        border: none;
    }
    .wc-block-components-sidebar-layout.wc-block-cart{
        padding-top: 0;
    }
}
@media screen and (max-width:600px){
    .woocommerce-page.search .wp-block-woocommerce-product-template,
    .woocommerce-page .products-block-post-template,
    .wp-block-woocommerce-related-products .wp-block-post-template{
        grid-template-columns: 1fr !important;
    }
    .single-product .wp-block-woocommerce-product-meta .wp-block-group{
        display: block !important;
    }
    .woocommerce-page .wp-block-query-title{
        font-size: 25px !important;
    }
    .wp-block-woocommerce-cart:where(:not(.alignleft):not(.alignright):not(.alignfull)){
        max-width: 90% !important;
    }
}
/* scroll top */
p.scroll-top {
    position: absolute;
}
.scroll-top::before{
    font-size: 20px;
    cursor: pointer;
    background: var(--wp--preset--color--primary); 
    color: var(--wp--preset--color--white);
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: '\f135'; 
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 40px;
    height: 40px;
    transform: rotate(-45deg);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    z-index: 99;
    transition: all .5s ease-in-out;
}

.scroll-top:hover::before {
    background: var(--wp--preset--color--white) !important;
    color: var(--wp--preset--color--primary);
    margin-bottom: 10px;
}
/*header*/
.feedback-links{
    gap: 3px !important;
}
.calling-row{
    gap: 7px !important;
}
.feedback-links a{
    text-decoration: none;
}
.search-block .wp-block-search__button{
    border: none;
    padding: 0;
    align-items: center;
}
/*banner*/
.banner-image-cover img{
    width: 100%;
}
/*about-us*/
.about-img{
    position: relative;
}
.about-img2{
    position: absolute;
    top: 50%;
    left: 40%;
}
/*choose us*/
.chooseus-img img{
    width: 100%;
    transition: opacity 0.3s ease;
}
.chooseus-img:hover img{
    opacity: 0.8;
}
/*service*/
.service-box {
    box-shadow: 0 0 10px 7px #f6f5f5;
}
.service-img{
    padding: 20px 11px;
    background-color: var(--wp--preset--color--section-bg);
    width: 60px;
    border-radius: 50%;
}
.service-box:hover{
    background-color: var(--wp--preset--color--primary) !important;
}
.service-box:hover h6,.service-box:hover p, .service-box:hover .wp-block-button__link{
    color: var(--wp--preset--color--heading) !important;
}
/* Keep service cards equal-width even when WP block-layout CSS isn't applied
   (customizer edit iframe + submission preview) — otherwise columns collapse to
   content width and titles break letter-by-letter. Matches normal front-end layout. */
.our-services .wp-block-columns{
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: stretch;
}
.our-services .wp-block-columns > .wp-block-column.service-box{
    flex: 1 1 220px;
    min-width: 0;
}
.our-services .service-box h6,
.our-services .service-box p{
    word-break: normal;
    overflow-wrap: break-word;
}
@media screen and (max-width: 781px){
    .our-services .wp-block-columns > .wp-block-column.service-box{
        flex-basis: 100%;
    }
}

/* Services PAGE grid (page-services.php). Its layout is set via inline styles which get
   stripped/overridden in the customizer + submission preview, so enforce it here in CSS. */
.spfm-page-services .services-grid{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 25px;
}
.spfm-page-services .services-grid > div{
    min-width: 0;
    text-align: center;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
/* Image area: give it a real, fixed height and clip overflow — mirrors the Doctors card,
   so the service icon can't collapse/spill out and overlap the next card. */
.spfm-page-services .services-grid [data-spfm-img-id]{
    height: 200px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    position: relative;
}
.spfm-page-services .services-grid [data-spfm-img-id] img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.spfm-page-services .services-grid h3{
    font-size: 18px !important;
    line-height: 1.3;
    margin-bottom: 8px;
    word-break: normal;
    overflow-wrap: break-word;
}
.spfm-page-services .services-grid p{
    font-size: 14px !important;
    line-height: 1.7;
    color: #666;
    margin: 0;
    word-break: normal;
    overflow-wrap: break-word;
}
@media screen and (max-width: 768px){
    .spfm-page-services .services-grid{
        grid-template-columns: 1fr !important;
    }
}
/*footer*/
footer ::marker{
    color: var(--wp--preset--color--primary);
}
.footer-widgets li a{
    text-decoration: none;
}
.copyright-text a:hover,.footer-widgets li:hover a, .footer-widgets li:hover::marker {
    color: var(--wp--preset--color--primary);
}
/* --- Block Media Quries
-------------------------------------------------------- */
/* --- > Media Queries
-------------------------------------------------------- */
/* --- > 781px
-------------------------------------------------------- */
@media screen and (max-width:999px) {
    .latest-news .wp-block-post-template,
    .post-grid-layout.wp-block-post-template{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .inner-cover-img h2,.without-cover-img h2{
        font-size: 30px !important;
    }
    
}
@media screen and (max-width: 999px) and (min-width: 782px){
    .page-template-blog-right-sidebar .wp-block-post-template,
    .page-template-blog-left-sidebar .wp-block-post-template,
    .search-results .wp-block-post-template{
        grid-template-columns: 1fr !important;
    }
    .sidebar-col,.post-col{
        flex-basis: 50% !important;
    }
    .page-sidebar-col{
        flex-basis: 40% !important;
    }
    .page-text-col{
        flex-basis: 60% !important;
    }
}
@media screen and (max-width:767px){
    .post-grid-layout.wp-block-post-template,
    .page-template-blog-right-sidebar .wp-block-post-template,
    .page-template-blog-left-sidebar .wp-block-post-template,
    .latest-news .wp-block-post-template,
    .search-results .wp-block-post-template{
        display: block !important;
    }
    .post-grid-layout.wp-block-post-template li,
    .page-template-blog-right-sidebar .wp-block-post-template li,
    .page-template-blog-left-sidebar .wp-block-post-template li,
    .latest-news .wp-block-post-template li,
    .search-results .wp-block-post-template li{
        margin-bottom: 30px;
    }
    .post-grid-layout.wp-block-post-template li:last-child,
    .page-template-blog-right-sidebar .wp-block-post-template li:last-child,
    .page-template-blog-left-sidebar .wp-block-post-template li:last-child,
    .latest-news .wp-block-post-template li:last-child,
    .search-results .wp-block-post-template li:last-child{
        margin-bottom: 0;
    }
    .inner-cover-img h2,.without-cover-img h2{
        font-size: 25px !important;
        text-align: center !important;
    }
    .error-heading{
        font-size: 110px !important;
    }
}
@media screen and (max-width:781px){
    .post-title .wp-block-separator{
        width: 30px !important;
    }
    .post-title h4{
        font-size: 21px;
    }
    .archieve-meta time ,.archieve-meta .wp-block-post-author-name{
        font-size: 13px !important;
    }
    .search-no-results .wp-block-query-no-results, .single-post .wp-block-cover.inner-cover-img + .wp-block-group > .wp-block-group.alignwide > .wp-block-columns .wp-block-column:first-child{
        margin-bottom: 30px;
    }
}
@media screen and (max-width:1649px) and (min-width:782px){
    .opening-hours p{
        font-size: 12px !important;
    }
    .opening-hours{
        gap: 12px !important;
    }
    .feedback-links p{
        font-size: 13px !important;
    }
}
@media screen and (max-width: 1440px){
    .inner-menu-header,.inner-info-head,.inner-top-bar{
        max-width: 85% !important;
    }
    .latest-blogs{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media screen and (max-width: 1255px){
    .banner-heading h1,.banner-text p{
        max-width: 100% !important;
    }
    .services-heading h2,.latest-heading h2{
        max-width: 80% !important;
    }
}
@media screen and (max-width:1200px) and (min-width:782px){
    .chooseus-box{
        padding-right: 10px !important;
        padding-left: 10px !important;
    }
    .chooseus-upper-box{
        gap: 20px !important;
    }
}
@media screen and (max-width:1400px) and (min-width:782px){
    .inner-menu-header,.inner-info-head,.inner-top-bar,.our-services :where(:not(.alignleft):not(.alignright):not(.alignfull)),.chooseus-sec :where(:not(.alignleft):not(.alignright):not(.alignfull)){
        max-width: 90% !important;
    }
    .info-head h6{
        font-size: 16px !important;
    }
    .location{
        gap: 12px !important;
    }
    .inner-menu-header ul li a{
        font-size:13px !important;
    }
    .chooseus-sec h2{
        font-size: 32px;
    }
    .chooseus-sec p{
        font-size: 15px;
    }
}
@media screen and (max-width:999px) {
    .inner-menu-header nav{
        justify-content: center !important;
    }
    .latest-blogs{
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }
    .inner-menu-header.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.logo-block{
        flex-basis: 50% !important;
    }
    .inner-menu-header.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.nav-block{
        flex-basis: 30% !important;
    }
    .inner-menu-header.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.search-block{
        flex-basis: 20% !important;
    }
}
@media screen and (max-width: 781px){
    .feedback-links,.calling-row,.social-block ul,.logodiv,.info-row,.opening-hours,.location,.banner-btn,.chooseus-btn,.aboutus-btn{
        justify-content: center !important;
    }
    .search-block.is-layout-flow > .alignright {
        float: none;
        display: grid;
        justify-content: center;
        margin-inline-start: 0 !important;
    }
    .logodiv h1,.blog-content-box,.blog-content-box h3,.banner-heading h1,.banner-text p,.chooseus-sec h2,.chooseus-sec p,.chooseus-sec h6,.aboutus-content h6,.aboutus-content h2,.aboutus-content p{
        text-align: center;
    }
    .services-heading h2{
        max-width: 100% !important;
        font-size: 30px;
    }
    .aboutus-content{
        padding-top: 30px;
    }
    .latest-readmore{
        display: grid;
        justify-content: center;
    }
    .banner-image-cover img{
       object-position: 22% 29% !important; 
    }
    .inner-menu-header.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.logo-block{
        flex-basis: 100% !important;
    }
    .inner-menu-header.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.search-block,.inner-menu-header.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.nav-block{
        flex-basis: 40% !important;
    }
    .chooseus-upper-box.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column,.our-services .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
        flex-basis: 30% !important;
    }
    .top-bar-info{
        gap: 5px !important;
    }
    .top-bar-info.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
        flex-basis: 30% !important;
    }
    .feedback-links a{
        font-size: 12px !important;
    }
}
@media screen and (max-width:600px){
    .copyright-text{
        display: grid !important;
    }
    .copyright-text p{
        text-align: center;
    }
    .latest-heading h2{
        font-size: 30px;
    }
    .top-bar-info.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
        flex-basis: 100% !important;
    }
    .feedback-links a{
        font-size: 16px !important;
    }
    .info-row,.opening-hours,.location{
        display: block !important;
        text-align: center !important;
    }
}

/*faq*/
.faq-section details{
    border: 2px solid var(--wp--preset--color--heading);
    padding: 5px 10px;
}
.faq-section details[open]{
    border: 2px solid var(--wp--preset--color--primary);
}
.faq-section-cols .faq-section-main-box{
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
}
@media screen and (max-width: 1399px){
    .faq-section details{
        font-size: 18px !important;
    }
}
/*frontpage swiper css start*/
.wp-block-group.dental-blocks-swiper {
  overflow: hidden;
  position: relative;
}
.dental-blocks-swiper .swiper-slide {
  display: flex;
}
.wp-block-group.dental-blocks-swiper-controls {
  position: unset;
}
.wp-block-group.dental-blocks-swiper .wp-block-cover.swiper-slide {
  margin-block-start: 0 !important;
}
.dental-blocks-pagination.swiper-pagination-clickable.swiper-pagination-bullets {
  position: absolute;
  bottom: 20px;
  z-index: 1;
  width: 100%;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
}
.dental-blocks-pagination.swiper-pagination-clickable.swiper-pagination-bullets span.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #fff;
  opacity: 0.9;
}
.dental-blocks-pagination.swiper-pagination-clickable.swiper-pagination-bullets span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--wp--preset--color--primary);
}
.wp-block-group.dental-blocks-swiper .dental-blocks-swiper-button-prev,
.wp-block-group.dental-blocks-swiper .dental-blocks-swiper-button-next {
  width: 40px;
  height: 40px;
  border-radius: 0;
  background: #FFFFFF;
  color: #000;
  transition: all ease 0.23s;
  opacity: 0;
  top: 50%;
  margin: -20px 0 0 0;
}
.wp-block-group.dental-blocks-swiper .dental-blocks-swiper-button-prev{
    left: 0;
}
.wp-block-group.dental-blocks-swiper .dental-blocks-swiper-button-next{
    right: 0;
}
.wp-block-group.dental-blocks-swiper .dental-blocks-swiper-button-prev:hover,
.wp-block-group.dental-blocks-swiper .dental-blocks-swiper-button-next:hover {
  background: var(--wp--preset--color--secondary);
  color: #fff;
}
.wp-block-group.dental-blocks-swiper .dental-blocks-swiper-button-prev:after,
.wp-block-group.dental-blocks-swiper .dental-blocks-swiper-button-next:after {
  font-size: 15px;
  font-weight: 900;
}

.dental-blocks-swiper-controls.wp-block-group.block-editor-block-list__layout .wp-block.wp-block-html {
  display: none;
}

.dental-blocks-swiper-controls.wp-block-group.block-editor-block-list__layout .wp-block.is-selected.wp-block-html {
  display: block !important;
}
/*frontpage swiper css end*/
/*testimonial*/
.tstimonial-box{
    width: 100% !important;
    transition: 0.5s;
    border-color: transparent;
    border-width: 0px 0px 5px 0px;
    border-style: solid;
}
.testimonail-main-img img{
    border: 2px solid transparent;
    transition: 0.5s;
    width: 60px;
    height: 60px;
}
.tstimonial-box h6,.tstimonial-box p{
    transition: 0.5s;
}
.tstimonial-box:hover {
    border-radius: 20px;
    box-shadow: 0 0 20px rgba(18, 79, 106, 0.1);
    Background-color: var(--wp--preset--color--section-bg);
    border-width: 0px 0px 5px 0px;
    border-color: var(--wp--preset--color--primary);
    border-style: solid;
    transition: 0.5s;
}
.tstimonial-box:hover .testimonail-main-img img{
    border: 2px solid var(--wp--preset--color--primary);
}
/*testimnail swiper css start*/
.wp-block-group.dental-blocks-testimonial-swiper {
  overflow: hidden;
  position: relative;
}
.wp-block-group.dental-blocks-testimonial-swiper .swiper-wrapper{
    gap: 30px;
}
.dental-blocks-testimonial-swiper .swiper-slide {
  display: flex;
  margin-block-start: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.wp-block-group.dental-blocks-testimonial-swiper-controls {
  position: unset;
}
.dental-blocks-testimonial-swiper-controls .dental-blocks-testimonial-pagination.swiper-pagination-clickable.swiper-pagination-bullets {
  position: absolute;
  bottom: 0;
  z-index: 1;
  width: 100%;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 0 !important;
}
.dental-blocks-testimonial-swiper-controls .dental-blocks-testimonial-pagination.swiper-pagination-clickable.swiper-pagination-bullets span.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: var(--wp--preset--color--foreground);
}
.dental-blocks-testimonial-swiper-controls .dental-blocks-testimonial-pagination.swiper-pagination-clickable.swiper-pagination-bullets span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--wp--preset--color--primary);
}
.dental-blocks-testimonial-swiper-controls .swiper-button-prev.dental-blocks-testimonial-swiper-button-prev,
.dental-blocks-testimonial-swiper-controls .swiper-button-next.dental-blocks-testimonial-swiper-button-next {
  width: 40px;
  height: 40px;
  border-radius: 0;
  background: transparent;
  color: var(--wp--preset--color--primary);
  transition: all ease 0.23s;
  opacity: 1 !important;
  top: 50%;
  margin: -20px 0 0 0;
}
.dental-blocks-testimonial-swiper-controls .swiper-button-prev.dental-blocks-testimonial-swiper-button-prev{
    left: 0;
}
.dental-blocks-testimonial-swiper-controls .swiper-button-next.dental-blocks-testimonial-swiper-button-next{
    right: 0;
}
.dental-blocks-testimonial-swiper-controls .swiper-button-prev.dental-blocks-testimonial-swiper-button-prev:hover,
.dental-blocks-testimonial-swiper-controls .swiper-button-next.dental-blocks-testimonial-swiper-button-next:hover {
  background: transparent;
  color: var(--wp--preset--color--heading);
}
.dental-blocks-testimonial-swiper-controls .swiper-button-prev.dental-blocks-testimonial-swiper-button-prev:after,
.dental-blocks-testimonial-swiper-controls .swiper-button-next.dental-blocks-testimonial-swiper-button-next:after {
  font-size: 30px;
  font-weight: 900;
}
.dental-blocks-testimonial-swiper-controls.wp-block-group.block-editor-block-list__layout .wp-block.wp-block-html {
  display: none;
}

.dental-blocks-testimonial-swiper-controls.wp-block-group.block-editor-block-list__layout .wp-block.is-selected.wp-block-html {
  display: block !important;
}
@media screen and (max-width: 1199px){
    .dental-blocks-testimonial-swiper:where(:not(.alignleft):not(.alignright):not(.alignfull)){
        max-width: 95% !important;
        padding-right: 40px !important;
        padding-left: 40px !important;
    }
}
/*testimonial swiper css end*/

/* SPFM: header — keep the nav menu on one line and the Book Appointment button text on one line */
.menu-header .inner-menu-header { max-width: 92% !important; }
.menu-header .nav-block .wp-block-navigation,
.menu-header .nav-block .wp-block-navigation__container { flex-wrap: nowrap !important; }
.menu-header .book-appointment-block .wp-block-button__link { white-space: nowrap !important; }

/* =========================================================================
   MOBILE TOGGLE MENU  (hamburger -> full-screen brand overlay)
   Pairs with the JS toggle in functions.php. Brand color: #fe8086
   ========================================================================= */
@media screen and (max-width: 781px) {
  /* keep the header row horizontal (block columns stack at <=781px by default) */
  .menu-header .wp-block-columns { flex-wrap: nowrap !important; align-items: center !important; }
  .menu-header .wp-block-column { flex-basis: auto !important; }
  .menu-header .logo-block, .menu-header .logodiv { flex: 1 1 auto !important; }
  /* hide the Book Appointment button from the bar (shown inside the overlay instead) */
  .menu-header .book-appointment-block { display: none !important; }

  /* force the native hamburger to show, hide the inline nav */
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important; color: #fe8086 !important; font-size: 26px !important; padding: 4px !important;
  }
  .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) { display: none !important; }

  /* open overlay: full-screen brand panel */
  .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 100vw !important; height: 100% !important; max-width: 100vw !important;
    background-color: #fe8086 !important;
    padding: 76px 22px 32px !important;
    z-index: 100000 !important;
    display: flex !important; flex-direction: column !important; align-items: stretch !important;
    overflow-y: auto !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { width: 100% !important; max-width: 100% !important; background: transparent !important; padding: 0 !important; align-items: stretch !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    flex-direction: column !important; align-items: stretch !important; gap: 0 !important; width: 100% !important; justify-content: flex-start !important; flex-wrap: nowrap !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100% !important; text-align: center !important; border-bottom: 1px solid rgba(255,255,255,0.28) !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color: #ffffff !important; font-size: 19px !important; font-weight: 500 !important; padding: 16px 0 !important; display: block !important; width: 100% !important; justify-content: center !important; white-space: normal !important;
  }
  .wp-block-navigation__responsive-container-close { color: #ffffff !important; top: 24px !important; right: 22px !important; }
  .wp-block-navigation__responsive-container-close svg { width: 30px !important; height: 30px !important; fill: #ffffff !important; }

  /* Book Appointment button pinned inside the overlay (bottom) */
  body:has(.wp-block-navigation__responsive-container.is-menu-open) .menu-header .book-appointment-block {
    display: block !important; position: fixed !important; left: 22px !important; right: 22px !important; bottom: 42px !important; z-index: 100001 !important;
  }
  body:has(.wp-block-navigation__responsive-container.is-menu-open) .menu-header .book-appointment-block .wp-block-buttons { justify-content: center !important; }
  body:has(.wp-block-navigation__responsive-container.is-menu-open) .menu-header .book-appointment-block .wp-block-button__link {
    display: block !important; text-align: center !important; background-color: #ffffff !important; color: #fe8086 !important; font-weight: 600 !important; padding: 14px 28px !important;
  }
}

/* ===== Static-nav mobile overlay (inner pages, injected hamburger) ===== */
.spfm-mnav-open, .spfm-mnav-close { display: none; }
@media screen and (max-width: 781px) {
  header .spfm-static-nav .spfm-mnav-open {
    display: inline-flex !important; flex-direction: column; justify-content: center; gap: 5px;
    background: none; border: none; cursor: pointer; padding: 6px;
  }
  header .spfm-static-nav .spfm-mnav-open span { display: block; width: 26px; height: 3px; background: #fe8086; border-radius: 2px; }
  header .spfm-static-nav:not(.spfm-nav-open) > .wp-block-navigation__container { display: none !important; }
  header .spfm-static-nav.spfm-nav-open .spfm-mnav-open { display: none !important; }
  header .spfm-static-nav.spfm-nav-open {
    position: fixed !important; inset: 0 !important; background: #fe8086 !important; z-index: 100000 !important; padding: 76px 22px 32px !important; text-align: left !important;
  }
  header .spfm-static-nav.spfm-nav-open > .wp-block-navigation__container {
    display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 0 !important; width: 100% !important; justify-content: flex-start !important; flex-wrap: nowrap !important;
  }
  header .spfm-static-nav.spfm-nav-open .wp-block-navigation-item { width: 100% !important; text-align: center !important; border-bottom: 1px solid rgba(255,255,255,0.28) !important; }
  header .spfm-static-nav.spfm-nav-open .wp-block-navigation-item a { color: #ffffff !important; font-size: 19px !important; font-weight: 500 !important; padding: 16px 0 !important; display: block !important; width: 100% !important; }
  header .spfm-static-nav.spfm-nav-open .spfm-mnav-close {
    display: block !important; position: absolute !important; top: 18px; right: 22px; background: none; border: none; color: #ffffff; font-size: 38px; line-height: 1; cursor: pointer;
  }
}

/* About page — Mission/Vision/Values cards: fixed 3-column grid overflowed on
   mobile (horizontal scroll). Stack them: 2 cols on tablet, 1 col on phones. */
@media (max-width: 900px) {
  .mission-vision div[style*="grid-template-columns: repeat(3"] { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .mission-vision div[style*="grid-template-columns: repeat(3"] { grid-template-columns: 1fr !important; }
}
/* =========================================================================
   MOBILE: HERO BANNER (patterns/banner.php ships no media query at all).
   Each slide's text wrapper is inline-styled max-width:50% - a desktop
   split (text left, video right). With no mobile override, at 320px that
   resolved to 240px * 50% = 120px, so the 49px h1 broke to one word per
   line and ran ~368px tall. The 0 40px wrapper padding costs another 80px.
   !important is required throughout: these are inline styles, which outrank
   stylesheet rules regardless of load order.
   ========================================================================= */
@media screen and (max-width: 781px) {
  /* text takes the full slide width on mobile */
  .banner-video-cover div[style*="max-width:50%"],
  .banner-image-cover div[style*="max-width:50%"] {
    max-width: 100% !important;
  }
  /* 40px each side is a quarter of a 320px screen */
  .banner-video-cover div[style*="padding:0 40px"],
  .banner-image-cover div[style*="padding:0 40px"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  /* 49px is a desktop display size */
  .banner-video-cover h1[data-field^="banner_title"],
  .banner-image-cover h1[data-field^="banner_title"] {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
}

/* =========================================================================
   MOBILE side padding for the inner pages.
   Two wrapper styles, both ending up with zero horizontal padding:
     1. <section style="padding: 80px 0"> - the shorthand's 2nd value is 0,
        and .container has no CSS in this theme (verified), so it adds none.
     2. Block wrappers setting only padding-top/bottom.
   Full-width backgrounds stay edge-to-edge; only inner content is inset.
   ========================================================================= */
@media screen and (max-width: 781px) {
  /* services/doctors handled by the .container rule below (all widths) */
  .spfm-page-about .wp-block-group[style*="padding-top: 80px"],
  .spfm-page-about .wp-block-group[style*="padding-top: 60px"],
  .spfm-page-contact .wp-block-group[style*="padding-top: 80px"],
  .spfm-page-contact .wp-block-group[style*="padding-top: 60px"],
  .spfm-page-testimonials .wp-block-group[style*="padding-top: 80px"],
  .spfm-page-testimonials .wp-block-group[style*="padding-top: 60px"],
  .page-template-page-custom .wp-block-group[style*="padding-top: 80px"],
  .page-template-page-custom .wp-block-group[style*="padding-top: 60px"] {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* =========================================================================
   SERVICES / DOCTORS - content width on DESKTOP.
   These templates wrap content in <div class="container">, but .container has
   no CSS in this theme, so the section ran full-bleed and the label/heading/
   cards sat flush at left:0 on desktop (and touched the edge at any width
   above the 781px mobile breakpoint).
   Match the header's content box: its inner wrapper is max-width:1170px;
   padding:0 20px, sitting inside a .has-background group with ~40px padding
   (~60px total inset). A responsive clamp gutter reproduces that ~60px on
   desktop and tapers to 20px on phones.
   ========================================================================= */
.spfm-page-services .container,
.spfm-page-doctors .container {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}
