/*
 Theme Name:   hotel411 Child
 Theme URI:    https://thegrandbahamas.com/
 Description:  Child Theme for hotel411
 Author:       Jay Taylor
 Author URI:   https://thegrandbahamas.com/
 Template:     twentytwentyfive
 Version:      1.0.0
*/

/* Custom CSS for hotel411 Child starts here */

/* Featured image display rules */
.single-post .entry-header .post-thumbnail,
.single-post .featured-image {
    max-width: 1340px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.single-post .featured-image img,
.single-post .post-thumbnail img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Override container width limits for single post header and featured images */
.single-post .entry-header,
.single-post .post-thumbnail-wrapper,
.single-post .featured-image,
.single-post .wp-post-image {
    max-width: 1340px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Ensure child elements inside the thumbnail container stretch fully */
.single-post .post-thumbnail img,
.single-post .featured-image img {
    width: 100% !important;
    max-width: 1340px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}


/* Expand Wide-aligned blocks and Featured Images in Twenty Twenty-Five */
.wp-site-blocks .alignwide,
.wp-block-post-featured-image.alignwide,
.single-post .wp-block-post-featured-image {
    max-width: 1340px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.wp-block-post-featured-image img {
    width: 100% !important;
    max-width: 1340px !important;
    height: auto !important;
    object-fit: cover;
}

/* =========================================================================
   The Grand Bahamas: TOC & Smooth Scrolling
   ========================================================================= */

/* Smooth Scrolling & Sticky Header Buffer */
html {
    scroll-behavior: smooth;
    /* Change 120px if the top of your site's header still covers the text */
    scroll-padding-top: 60px; 
}

/* Table of Contents Container */
.tgb-toc-container {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 20px;
    margin: 30px 0;
    clear: both;
}

.tgb-toc-title {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 15px;
    text-transform: uppercase;
}

/* Two-Column Grid */
.tgb-toc-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; 
    gap: 10px 30px !important; 
}

.tgb-toc-list li {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4;
}

.tgb-toc-list .toc-level-3 {
    margin-left: 20px !important;
    font-size: 0.9em;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .tgb-toc-list {
        grid-template-columns: 1fr;
    }
}



/* =========================================================================
   TOC Brand Colors 
   ========================================================================= */

/* 1. The Box Background and Border */
.tgb-toc-container {
    /* Try a very light version of your brand color or pure white */
    background-color: #ffffff !important; 
    
    /* Change the 2px thickness or the #0073aa hex code to match your brand */
    border: 2px solid #0073aa !important; 
}

/* 2. The "Table of Contents" Title */
.tgb-toc-title {
    /* Change to your primary dark brand color */
    color: #002244; 
}

/* 3. The Links */
.tgb-toc-list a {
    /* Change to your standard link color */
    color: #0073aa; 
    text-decoration: none; 
    transition: color 0.2s ease-in-out;
}

/* 4. The Links on Hover (When the mouse touches them) */
.tgb-toc-list a:hover {
    /* Change to your secondary or "accent" brand color */
    color: #00a8e1; 
    text-decoration: underline;
}



/* =========================================================================
   The Grand Bahamas: TOC & Smooth Scrolling
   ========================================================================= */

/* Smooth Scrolling & Sticky Header Buffer */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 60px; 
}

/* Table of Contents Container */
.tgb-toc-container {
    background-color: #f9f9f9;
    border: 1px solid #ddd; /* Change to your brand hex code if desired */
    border-radius: 5px;
    padding: 20px;
    margin: 30px 0;
    clear: both;
}

.tgb-toc-title {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 15px;
    text-transform: uppercase;
    color: #002244;
}

/* Two-Column Grid */
.tgb-toc-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; 
    gap: 10px 30px !important; 
}

.tgb-toc-list li {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4;
}

.tgb-toc-list .toc-level-3 {
    margin-left: 20px !important;
    font-size: 0.9em;
}

.tgb-toc-list a {
    color: #0073aa; 
    text-decoration: none; 
    transition: color 0.2s ease-in-out;
}

.tgb-toc-list a:hover {
    color: #00a8e1; 
    text-decoration: underline;
}

/* Mobile Responsiveness for Grid */
@media (max-width: 768px) {
    .tgb-toc-list {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================================
   Floating "Back to TOC" Button 
   ========================================================================= */
#tgb-back-to-toc {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #0073aa; 
    color: #ffffff !important;
    padding: 12px 20px;
    border-radius: 50px;
    font-weight: bold;
    text-decoration: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    z-index: 9999;
    
    /* The Smooth Fade-In Setup */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, background-color 0.2s ease;
}

#tgb-back-to-toc:hover {
    background-color: #002244; 
    box-shadow: 0 6px 14px rgba(0,0,0,0.25);
}

















