
/* V356: use flex for the live business detail wrapper. This avoids iframe/min-content
   sizing from Google Maps forcing the sidebar below the main content. */
.fd-business-detail-page .fd-business-detail-layout{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    gap:35px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}
.fd-business-detail-page .fd-business-detail-main-column{
    flex:1 1 0% !important;
    width:0 !important;
    min-width:0 !important;
    max-width:none !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}
.fd-business-detail-page .fd-business-detail-sidebar{
    flex:0 0 360px !important;
    width:360px !important;
    max-width:360px !important;
    min-width:360px !important;
    box-sizing:border-box !important;
    float:none !important;
    clear:none !important;
    display:block !important;
    position:sticky !important;
    top:25px !important;
    align-self:flex-start !important;
}
.fd-business-detail-page .fd-business-detail-main-column iframe{
    max-width:100% !important;
    width:100% !important;
}
@media(max-width:992px){
    .fd-business-detail-page .fd-business-detail-layout{
        display:flex !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;
        gap:0 !important;
    }
    .fd-business-detail-page .fd-business-detail-main-column{
        flex:0 1 auto !important;
        width:100% !important;
    }
    .fd-business-detail-page .fd-business-detail-sidebar{
        flex:0 1 auto !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        position:static !important;
        margin-top:30px !important;
    }
}

/* V355: actual active single-fd_business.php layout. Keep this isolated from Houzez. */
.fd-business-detail-page .fd-business-detail-layout,
.fd-business-page .fd-business-detail-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 360px !important;
    gap:35px !important;
    align-items:start !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}
.fd-business-detail-page .fd-business-detail-main-column,
.fd-business-page .fd-business-detail-main-column{
    grid-column:1 !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    float:none !important;
    clear:none !important;
    display:block !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}
.fd-business-detail-page .fd-business-detail-sidebar,
.fd-business-page .fd-business-detail-sidebar{
    grid-column:2 !important;
    min-width:0 !important;
    width:360px !important;
    max-width:360px !important;
    float:none !important;
    clear:none !important;
    display:block !important;
    box-sizing:border-box !important;
    align-self:start !important;
    position:sticky !important;
    top:25px !important;
}
.fd-business-detail-page .fd-business-google-map-frame,
.fd-business-detail-page .fd-public-map-frame,
.fd-business-page .fd-business-google-map-frame,
.fd-business-page .fd-public-map-frame{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}
.fd-business-detail-page .fd-business-google-map-frame iframe,
.fd-business-detail-page .fd-public-map-frame iframe,
.fd-business-page .fd-business-google-map-frame iframe,
.fd-business-page .fd-public-map-frame iframe{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    border:0 !important;
}
@media (max-width:992px){
    .fd-business-detail-page .fd-business-detail-layout,
    .fd-business-page .fd-business-detail-layout{
        grid-template-columns:minmax(0,1fr) !important;
    }
    .fd-business-detail-page .fd-business-detail-sidebar,
    .fd-business-page .fd-business-detail-sidebar{
        grid-column:1 !important;
        width:100% !important;
        max-width:none !important;
        position:static !important;
        margin-top:30px !important;
    }
}
/*====================================================
Business Page Layout
====================================================*/

/* Business Detail layout — isolated from theme/Houzez generic content rules. */
.fd-business-page .fd-business-single > .fd-business-content.fd-business-main{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 360px !important;
    grid-template-areas:"main sidebar" !important;
    gap:35px !important;
    align-items:start !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
}
.fd-business-page .fd-business-single > .fd-business-content.fd-business-main > .fd-business-left{
    grid-area:main !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    float:none !important;
    clear:none !important;
    display:block !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}
.fd-business-page .fd-business-single > .fd-business-content.fd-business-main > .fd-business-right{
    grid-area:sidebar !important;
    position:sticky !important;
    top:25px !important;
    align-self:start !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    float:none !important;
    clear:none !important;
    display:block !important;
    box-sizing:border-box !important;
}
.fd-business-page .fd-business-single > .fd-business-content.fd-business-main .fd-business-google-map-frame,
.fd-business-page .fd-business-single > .fd-business-content.fd-business-main .fd-public-map-frame{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}
.fd-business-page .fd-business-single > .fd-business-content.fd-business-main .fd-business-google-map-frame iframe,
.fd-business-page .fd-business-single > .fd-business-content.fd-business-main .fd-public-map-frame iframe{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    border:0 !important;
}

.fd-business-page{
    width:100%;
    max-width:1400px;
    margin:40px auto;
    padding:0 20px;
    box-sizing:border-box;
}

.fd-sidebar-card{

    background:#fff;

    border:1px solid #e9ecef;

    border-radius:14px;

    padding:25px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.fd-sidebar-card .fd-btn{

    display:flex;

    justify-content:center;

    align-items:center;

    width:100%;

    margin-bottom:12px;

}

.fd-sidebar-hours{

    margin:20px 0;

    padding-top:20px;

    border-top:1px solid #ececec;

}

@media(max-width:992px){
    .fd-business-page .fd-business-single > .fd-business-content.fd-business-main{
        grid-template-columns:1fr !important;
        grid-template-areas:"main" "sidebar" !important;
    }
    .fd-business-page .fd-business-single > .fd-business-content.fd-business-main > .fd-business-right{
        position:static !important;
        margin-top:30px !important;
    }
}



/*====================================================
Business Header
====================================================*/

.fd-business-header{

    background:#ffffff;
    border:1px solid #e8e8e8;
    border-radius:16px;
    padding:30px;
    margin-bottom:25px;
    box-shadow:0 8px 24px rgba(0,0,0,.06);

}

.fd-business-header h2{

    font-size:34px;
    margin:0 0 15px;
    line-height:1.3;
    font-weight:700;

}

.fd-business-rating{

    font-size:18px;
    margin-bottom:20px;
    color:#f59e0b;
    font-weight:600;

}

.fd-contact-buttons{

    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:20px;

}

.fd-contact-buttons .fd-btn,
.fd-contact-btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:12px 20px;

    border-radius:10px;

    text-decoration:none;

    font-weight:600;

    transition:.25s;

}

.fd-contact-buttons .fd-btn:hover,
.fd-contact-btn:hover{

    transform:translateY(-2px);

}

.fd-header-top{
    display:flex;
    gap:20px;
    align-items:center;
    margin-bottom:25px;
}

.fd-business-logo{
    flex:0 0 100px;
}

.fd-logo{
    width:100px;
    height:100px;
    object-fit:cover;
    border-radius:12px;
    display:block;
    border:1px solid #eee;
}

.fd-header-details{
    flex:1;
}

.fd-business-title{
    margin:0 0 10px;
}





/*====================================================
Sidebar Buttons
====================================================*/

.fd-sidebar-card .fd-btn{

    display:flex;
    align-items:center;
    justify-content:center;

    width:100%;
    min-height:48px;

    padding:12px 18px;

    margin-bottom:12px;

    border-radius:10px;

    color:#fff !important;
    text-decoration:none;

    font-weight:600;
    font-size:15px;

    transition:.25s;

    box-sizing:border-box;

}

.fd-sidebar-card .fd-btn:hover{

    color:#fff !important;

    transform:translateY(-2px);

    text-decoration:none;

}

/* Call */

.fd-sidebar-card .fd-call{

    background:#16a34a;

}

.fd-sidebar-card .fd-call:hover{

    background:#15803d;

}

/* WhatsApp */

.fd-sidebar-card .fd-whatsapp{

    background:#25D366;

}

.fd-sidebar-card .fd-whatsapp:hover{

    background:#1ea952;

}

/* Website */

.fd-sidebar-card .fd-website{

    background:#2563eb;

}

.fd-sidebar-card .fd-website:hover{

    background:#1d4ed8;

}

/* Email */

.fd-sidebar-card a[href^="mailto"]{

    background:#7c3aed;

}

.fd-sidebar-card a[href^="mailto"]:hover{

    background:#6d28d9;

}

/* Claim */

.fd-sidebar-card .fd-claim-btn{

    background:#f59e0b;

}

.fd-sidebar-card .fd-claim-btn:hover{

    background:#d97706;

}

/* Report */

.fd-sidebar-card .fd-report-btn{

    background:#dc2626;

}

.fd-sidebar-card .fd-report-btn:hover{

    background:#b91c1c;

}




/*====================================================
Header Badges
====================================================*/

.fd-header-meta{

	display:flex;
	flex-wrap:wrap;
	gap:10px;

	margin-top:12px;

}

.fd-meta-badge{

	display:inline-flex;
	align-items:center;

	padding:8px 14px;

	border-radius:30px;

	background:#f4f7fb;

	color:#333;

	text-decoration:none;

	font-size:14px;

	font-weight:600;

	border:1px solid #e3e7ee;

	transition:.25s;

}

.fd-meta-badge:hover{

	background:#0d6efd;

	color:#fff;

	border-color:#0d6efd;

	text-decoration:none;

	transform:translateY(-2px);

}





/*====================================================
Business Logo
====================================================*/

.fd-logo-link{

	display:block;

	border-radius:12px;

	overflow:hidden;

}

.fd-logo{

	display:block;

	width:110px;

	height:110px;

	object-fit:cover;

	border-radius:12px;

	border:1px solid #e8e8e8;

	transition:transform .3s ease, box-shadow .3s ease;

}

.fd-logo-link:hover .fd-logo{

	transform:scale(1.05);

	box-shadow:0 10px 25px rgba(0,0,0,.18);

}





/*====================================================
Common Business Cards
====================================================*/

.fd-card{

	background:#fff;

	border:1px solid #e8e8e8;

	border-radius:16px;

	padding:30px;

	margin-bottom:30px;

	box-shadow:0 8px 24px rgba(0,0,0,.06);

}

.fd-card-header{

	margin-bottom:22px;

	padding-bottom:15px;

	border-bottom:1px solid #f0f0f0;

}

.fd-card-header h2{

	margin:0;

	font-size:26px;

	font-weight:700;

	color:#222;

}

.fd-card-body{

	font-size:16px;

	line-height:1.9;

	color:#555;

}

.fd-business-description p{

	margin-bottom:18px;

}

.fd-business-description p:last-child{

	margin-bottom:0;

}
.fd-business-description{

	color:#222;

}



/*====================================================
Read More
====================================================*/

.fd-readmore{

	position:relative;

	max-height:180px;

	overflow:hidden;

	transition:max-height .35s ease;

}

.fd-readmore.fd-open{

	max-height:3000px;

}

.fd-readmore:not(.fd-open)::after{

	content:"";

	position:absolute;

	left:0;

	right:0;

	bottom:0;

	height:90px;

	background:linear-gradient(
		to bottom,
		rgba(255,255,255,0),
		#fff
	);

}

.fd-readmore-btn{

	margin-top:20px;

	background:none;

	border:none;

	color:#0d6efd;

	font-weight:700;

	cursor:pointer;

	font-size:15px;

	padding:0;

}

.fd-readmore-btn:hover{

	text-decoration:underline;

}





/*====================================================
Business Information Card
====================================================*/

.fd-info-list{

	display:flex;

	flex-direction:column;

	gap:18px;

}

.fd-info-row{

	display:flex;

	align-items:flex-start;

	gap:18px;

	padding:18px 0;

	border-bottom:1px solid #f1f1f1;

}

.fd-info-row:last-child{

	border-bottom:none;

	padding-bottom:0;

}

.fd-info-icon{

	width:48px;

	height:48px;

	border-radius:12px;

	background:#f5f7fb;

	display:flex;

	align-items:center;

	justify-content:center;

	font-size:22px;

	flex-shrink:0;

}

.fd-info-content{

	flex:1;

}

.fd-info-label{

	font-weight:700;

	color:#222;

	margin-bottom:6px;

	font-size:15px;

}

.fd-info-value{

	color:#555;

	line-height:1.7;

}

.fd-info-value a{

	color:#0d6efd;

	text-decoration:none;

	font-weight:600;

}

.fd-info-value a:hover{

	text-decoration:underline;

}



.fd-closing-soon{
    color:#d97706;
    font-weight:600;
}


.fd-business-hours{
    margin-top:25px;
}

.fd-business-hours-table{
    width:100%;
    border-collapse:collapse;
}

.fd-business-hours-table th{
    width:150px;
    text-align:left;
    padding:10px;
    border-bottom:1px solid #eee;
}

.fd-business-hours-table td{
    padding:10px;
    border-bottom:1px solid #eee;
}

.fd-business-hours-table td {
    white-space: nowrap;
}

.fd-session{
    margin-bottom:6px;
}

.fd-open-now{
    color:#0a8a1f;
    font-weight:600;
}

.fd-closed-now{
    color:#d63638;
    font-weight:600;
}

.fd-hours-open24{
    color:#0a8a1f;
    font-weight:600;
}

.fd-hours-closed{
    color:#777;
}



.fd-hours-widget {
    margin-top:20px;
}

.fd-hours-toggle {
    width:100%;
    padding:12px 15px;
    margin-top:15px;
    cursor:pointer;
    background:#f7f7f7;
    border:1px solid #ddd;
    text-align:left;
    font-weight:600;
}

.fd-hours-toggle span {
    float:right;
}

.fd-hours-content {
    display:none;
    border:1px solid #ddd;
    border-top:0;
    padding:15px;
}

.fd-hours-content.active {
    display:block;
}



.fd-open-now {
    color:#0a8a1f;
    font-weight:700;
    font-size:16px;
}

.fd-closed-now {
    color:#d63638;
    font-weight:700;
    font-size:16px;
}

.fd-today-hours {
    margin-top:6px;
    font-size:14px;
}

.fd-hours-toggle {

    width:100%;
    margin-top:15px;
    padding:12px;

    background:#f8f8f8;
    border:1px solid #ddd;

    cursor:pointer;
    font-weight:600;
    text-align:left;

}

.fd-hours-toggle span {
    float:right;
}


.fd-hours-content {

    display:none;
    padding-top:15px;

}

.fd-hours-content.active {

    display:block;

}



/*==================================================
MAP
==================================================*/

#fd-business-map{

    height:450px;

    border-radius:14px;

    overflow:hidden;

    margin-top:15px;

    box-shadow:0 4px 18px rgba(0,0,0,.08);

}

.fd-map-address{

    margin:15px 0;

    padding:14px 18px;

    background:#fafafa;

    border-left:4px solid #2e7d32;

    border-radius:8px;

    line-height:1.7;

    font-size:15px;

}

.fd-map-actions{

    margin-top:18px;

}

.fd-direction-btn{

    display:inline-block;

    background:#2e7d32;

    color:#fff;

    padding:12px 24px;

    border-radius:8px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.fd-direction-btn:hover{

    background:#1b5e20;

    color:#fff;

}




.fd-similar-businesses{

    background:#fff;

    border-radius:16px;

    padding:30px;

    border:1px solid #ececec;

    box-shadow:0 3px 15px rgba(0,0,0,.05);

    margin-top:35px;

}





/* =========================================================
   VERIFIED BUSINESS BADGE
========================================================= */

.fd-verification-badge-wrap {
    margin-top: 8px;
    margin-bottom: 10px;
}

.fd-business-verification-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 5px 11px;

    border-radius: 20px;

    background: #e9f8ef;
    color: #16803c;

    border: 1px solid #b9e6c8;

    font-size: 13px;
    font-weight: 600;

    line-height: 1;

    white-space: nowrap;
}

.fd-verification-check {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 17px;
    height: 17px;

    border-radius: 50%;

    background: #18a957;
    color: #fff;

    font-size: 11px;
    font-weight: 700;

    line-height: 17px;
}

.fd-verification-text {
    line-height: 1;
}
.fd-business-google-map-frame{height:400px;margin-top:20px;border-radius:10px;overflow:hidden}.fd-business-google-map-frame iframe{display:block;width:100%;height:100%;border:0}.fd-google-map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:#f8fafc;color:#667085;text-align:center}.fd-google-map-preview-actions,.fd-public-map-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.fd-google-map-preview-actions a,.fd-public-map-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #d0d5dd;border-radius:8px;text-decoration:none;font-size:13px;font-weight:700;background:#fff;color:#344054}.fd-google-map-preview-actions .fd-direction-btn,.fd-public-map-actions .fd-direction-btn{border-color:#175cd3;color:#175cd3}

/* V357: definitive Business Detail two-column layout. The sidebar is absolutely
   positioned so a Google Maps iframe can never force it below the main content. */
.fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout{
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}
.fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout > .fd-business-left.fd-business-detail-main-column{
    display:block !important;
    width:calc(100% - 395px) !important;
    max-width:calc(100% - 395px) !important;
    min-width:0 !important;
    float:none !important;
    clear:none !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}
.fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout > .fd-business-right.fd-business-detail-sidebar{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    display:block !important;
    width:360px !important;
    min-width:360px !important;
    max-width:360px !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    clear:none !important;
    box-sizing:border-box !important;
}
.fd-business-page.fd-business-detail-page .fd-business-map,
.fd-business-page.fd-business-detail-page .fd-business-google-map-frame,
.fd-business-page.fd-business-detail-page .fd-public-map-frame{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}
.fd-business-page.fd-business-detail-page .fd-business-google-map-frame iframe,
.fd-business-page.fd-business-detail-page .fd-public-map-frame iframe{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:400px !important;
    border:0 !important;
    box-sizing:border-box !important;
}
@media (max-width: 992px){
    .fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout{
        display:block !important;
    }
    .fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout > .fd-business-left.fd-business-detail-main-column{
        width:100% !important;
        max-width:100% !important;
    }
    .fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout > .fd-business-right.fd-business-detail-sidebar{
        position:static !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        margin-top:30px !important;
    }
}

/* V358: keep the already-working Business Detail placement, but make the
   right sidebar sticky on desktop. The main column keeps its reserved width
   so Google Maps cannot push the sidebar down. */
.fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout > .fd-business-right.fd-business-detail-sidebar{
    position:sticky !important;
    top:24px !important;
    right:auto !important;
    width:360px !important;
    min-width:360px !important;
    max-width:360px !important;
    float:right !important;
    clear:none !important;
    display:block !important;
    align-self:flex-start !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:0 !important;
}
@media (max-width: 992px){
    .fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout > .fd-business-right.fd-business-detail-sidebar{
        position:static !important;
        top:auto !important;
        float:none !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        margin-top:30px !important;
    }
}


/* V359: sticky sidebar on the active Business Detail template. Keep the
   working V357 two-column geometry while allowing the sidebar to stick. */
.fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 360px !important;
    gap:35px !important;
    align-items:start !important;
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}
.fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout > .fd-business-left.fd-business-detail-main-column {
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    clear:none !important;
    overflow:hidden !important;
}
.fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout > .fd-business-right.fd-business-detail-sidebar {
    grid-column:2 !important;
    grid-row:1 !important;
    position:sticky !important;
    top:24px !important;
    width:360px !important;
    min-width:360px !important;
    max-width:360px !important;
    height:max-content !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    padding:0 !important;
    align-self:start !important;
    box-sizing:border-box !important;
}
@media (max-width: 992px){
    .fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout {
        display:block !important;
    }
    .fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout > .fd-business-left.fd-business-detail-main-column {
        width:100% !important;
        max-width:100% !important;
    }
    .fd-business-page.fd-business-detail-page > .fd-business-main.fd-business-detail-layout > .fd-business-right.fd-business-detail-sidebar {
        position:static !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        margin-top:30px !important;
    }
}
