/*
Theme Name:     Choice Theme
Theme URI:      n/a
Template:       kadence
Author:         Choice Flowers LLC
Author URI:     n/a
Description:    We are one of the leading florists in UAE. Situated in the Capital city of UAE, Having 4 outlets and an Online Flower delivery service across UAE.
Version:        1.0
License:        GNU General Public License v3.0 (or later)
License URI:    https://www.gnu.org/licenses/gpl-3.0.html
*/

/* === Global Font Registration === */
@font-face {
    font-family: 'AED Currency';
    src: url('assets/font/aed-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.site-footer-wrap h2.widget-title,
.footer-widget-area-inner.site-info-inner h2 {
    color: #fff;
    font-size: 18px;
    font-family: 'Josefin Sans';
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.footer-widget-area-inner.site-info-inner .menu li.menu-item a,
.footer-two p {
    color: #fff;
    font-size: 16px;
    font-family: 'Josefin Sans';
    font-weight: 500;
    letter-spacing: 0.5px;
}

section#block-35 {
    margin-bottom: 15px;
}

label.gb-newsletter-email-address-label {
    display: none;
}

.site-footer-row-container-inner {
    border-bottom: 1px solid #d8d8d861;
}

.site-footer-top-section-1,
.site-footer-top-section-2,
.site-footer-top-section-3 {
    border-right: 1px solid #d8d8d861;
}

.site-footer-top-section-1,
.site-footer-top-section-2,
.site-footer-top-section-3,
.site-footer-top-section-4 {
    padding: 52px 0;
}

.call-to-btn a {
    background: #01403E;
    color: #fff;
    font-size: 16px;
    font-family: 'Josefin Sans';
    padding: 12px 18px;
    margin: 4px;
    border-radius: 8px;
}

.call-to-btn {
    margin-top: 42px;
}

.footer-html.inner-link-style-normal {
    color: #fff;
    font-size: 16px;
    font-family: 'Josefin Sans';
    letter-spacing: 0.5px;
    margin: 0;
    padding-top: 8px;
}

.kwt-image-wrap {
    background: #F5F5F7;
}

img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    border: 0;
}

a.button.product_type_variable.add_to_cart_button,
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    background: #012B2A !important;
    color: #fff;
    font-size: 14px;
    border-radius: 25px;
    font-family: 'League Spartan';
    font-weight: 600;
    padding: 8px;
}

ul.products.content-wrap.product-archive {
    column-gap: 12px;
    row-gap: 12px;
}

li.entry.content-bg.loop-entry.product .kt-row-column-wrap {
    padding: 10px 10px 0;
}

h2.woocommerce-loop-product__title.entry-title {
    padding: 0 !important;
}


/* === Custom Fonts === */
@font-face {
    font-family: 'SF Pro Display';
    src: url('assets/font/SFPRODISPLAYREGULAR.OTF') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'SF Pro Display';
    src: url('assets/font/SFPRODISPLAYMEDIUM.OTF') format('opentype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'SF Pro Display';
    src: url('assets/font/SFPRODISPLAYBOLD.OTF') format('opentype');
    font-weight: 700;
    font-style: normal;
}

/* Apply to Shop Grid */
.cf-shop-grid,
.cf-shop-grid *:not(.fa):not(.fas):not(.far):not(.fab) {
    font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* === Custom Shop Grid === */
.cf-shop-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    max-width: 1600px;
    margin: 40px auto;
    padding: 0 20px;
}

/* Responsive */
@media (max-width: 1200px) {
    .cf-shop-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .cf-shop-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .cf-shop-grid {
        grid-template-columns: 1fr;
    }
}

/* === Product Card === */
.cf-product-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* Left align title/price */
    text-align: left;
    padding: 20px;
    /* background: #fff; */
    border-radius: 18px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    border: 1px solid #e5e5e5;
    background: #f8f8f8 !important;
    /* Subtle border */
}

.cf-product-card:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* Image */
.cf-card-image {
    display: block;
    width: 100%;
    margin: 20px 0 25px;
    align-self: center;
    /* Center the image container */
    text-align: center;
}

.cf-card-image img {
    width: 100%;
    height: auto;
    max-height: 320px;
    /* Limit height */
    object-fit: contain;
    transition: transform 0.3s ease;
}

.cf-product-card:hover .cf-card-image img {
    transform: scale(1.05);
}

/* Color Dots */
.cf-card-colors {
    display: flex;
    gap: 6px;
    margin-bottom: 25px;
    justify-content: center;
    width: 100%;
    min-height: 12px;
}

.cf-card-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ccc;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
    cursor: pointer;
}

/* Color Mapping */
.cf-color-black {
    background-color: #333;
}

.cf-color-white {
    background-color: #f0f0f0;
    border: 1px solid #ddd;
}

.cf-color-blue {
    background-color: #0071e3;
}

.cf-color-pink {
    background-color: #ffb6c1;
}

.cf-color-red {
    background-color: #ee5646;
}

.cf-color-brown {
    background-color: #744443;
}

.cf-color-green {
    background-color: #5e8e3e;
}

.cf-color-yellow {
    background-color: #f5d033;
}

.cf-color-purple {
    background-color: #d1cdfa;
}

.cf-color-silver {
    background-color: #e2e4e1;
}

.cf-color-gold {
    background-color: #f9e5c9;
}

.cf-color-space-gray {
    background-color: #535150;
}

/* Title */
.cf-card-title {
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 5px;
    line-height: 1.3;
    color: #1d1d1f;
    /* Ensure height is auto to allow wrapping detection */
    height: auto;
    min-height: 32px;
    /* Approx 1 line */
}

.cf-card-title a {
    color: #1d1d1f;
    text-decoration: none;
}

/* Bottom Area */
.cf-card-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: auto;
    /* Push to bottom */
    padding-top: 10px;
}

/* Price */
.cf-card-price {
    font-size: 15px;
    font-weight: 400;
    color: #1d1d1f;
    line-height: 1.4;
    max-width: 70%;
}

/* Buttons */
.cf-card-actions {
    display: flex;
    align-items: center;
}

.cf-btn-buy {
    background: #FF8A3D;
    color: #fff;
    font-size: 15px;
    padding: 5px 12px;
    border-radius: 980px;
    /* Pill shape */
    text-decoration: none;
    font-weight: 400;
    transition: background 0.2s;
}

.cf-btn-buy:hover {
    background: #e67a35;
    color: #fff;
    text-decoration: none;
}

.site-container {
    max-width: 1800px;
}

.cf-color-red {
    background-color: #ee5646;
}

.cf-color-brown {
    background-color: #744443;
}

.single-product .kadence-breadcrumbs {
    margin-top: auto !important;
}

.kadence-breadcrumbs a {
    text-decoration: none !important;
}

/* Search Result Page Thumbnail Alignment */
.search .post-thumbnail-inner,
.search-results .post-thumbnail-inner {
    display: flex;
    align-items: center;
    justify-content: center;
}

.post-thumbnail-inner img {
    max-width: 70% !important;
}

/* Apply SF Pro Display Globally (Except Blogs) */
body:not(.single-post),
body:not(.single-post) h1,
body:not(.single-post) h2,
body:not(.single-post) h3,
body:not(.single-post) h4,
body:not(.single-post) h5,
body:not(.single-post) h6,
body:not(.single-post) .site-navigation,
body:not(.single-post) .main-navigation,
body:not(.single-post) .primary-menu-container,
body:not(.single-post) .menu-item a,
body:not(.single-post) .site-header,
body:not(.single-post) .site-footer-wrap,
body:not(.single-post) .footer-widget-area-inner,
body:not(.single-post) .footer-two p,
body:not(.single-post) .call-to-btn a,
body:not(.single-post) .footer-html,
body:not(.single-post) *:not(.fa):not(.fas):not(.far):not(.fab):not(.eicon):not(i):not([class*="icon"]) {
    font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Apply Roboto to Blog Posts */
body.single-post,
body.single-post h1,
body.single-post h2,
body.single-post h3,
body.single-post h4,
body.single-post h5,
body.single-post h6,
body.single-post .site-navigation,
body.single-post .main-navigation,
body.single-post .primary-menu-container,
body.single-post .menu-item a,
body.single-post .site-header,
body.single-post .site-footer-wrap,
body.single-post .footer-widget-area-inner,
body.single-post .footer-two p,
body.single-post .call-to-btn a,
body.single-post .footer-html,
body.single-post *:not(.fa):not(.fas):not(.far):not(.fab):not(.eicon):not(i):not([class*="icon"]) {
    font-family: 'Roboto', sans-serif !important;
}

body.single-post .entry-content p,
body.single-post .entry-content ul,
body.single-post .entry-content ol,
body.single-post .entry-content li {
    color: #1a1a1a;
}

/* Custom Elementor Contact Form Styling */
.elementor-element-Q4RP7rZ {
    border: 1px solid #FF8A3D;
    border-radius: 16px;
    padding: 30px !important;
    /* Override Elementor padding if needed */
    position: relative;
    background: #fff;
}

.elementor-element-Q4RP7rZ::after {
    content: "";
    background-image: url('https://cdn.choiceflowersuae.com/contact-us-form-choice-flowers.webp');
    background-repeat: no-repeat;
    background-size: contain;
    width: 60px;
    height: 60px;
    position: absolute;
    top: -1px;
    right: 50px;
    z-index: 1;
}

.return-to-shop {
    position: absolute;
}

.woocommerce {
    justify-content: center;
}

.checkout-product-image img {
    width: 100px;
}

@media (max-width: 1220px) {
    #order_review {
        width: 100%;
        padding-left: 0;
    }

    #customer_details {
        width: 100%;
    }
}

/* Header Account Icon */
.choice-header-account-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    width: 32px;
    color: #fff;
    margin-right: 15px;
    transition: color 0.2s;
}

.choice-header-account-link:hover {
    color: #FF8A3D;
}

.choice-account-icon-wrap svg {
    display: block;
}

/* Mobile Header Adjustments */
@media (max-width: 1024px) {

    .site-header .search-toggle-open-container,
    .site-header .mobile-toggle-open-container {
        display: flex !important;
        align-items: center;
        margin-right: 15px !important;
    }

    /* Ensure icons are visible and sized correctly */
    .site-header .search-toggle-open-container .search-toggle-open,
    .site-header .mobile-toggle-open-container .menu-toggle-open {
        background: transparent !important;
        padding: 5px !important;
        color: #1a4234 !important;
        /* Theme dark green */
    }

    .site-header .search-toggle-open-container .search-toggle-open .kadence-svg-icon,
    .site-header .mobile-toggle-open-container .menu-toggle-open .kadence-svg-icon {
        width: 24px;
        height: 24px;
    }
}

/* === WooCommerce Validation Styles === */
.woocommerce-checkout .woocommerce-invalid .input-text,
.woocommerce-checkout .woocommerce-invalid .select2-container--default .select2-selection--single,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea {
    border-color: #e2401c !important;
    background-color: #fff8f8 !important;
}

.woocommerce-checkout .woocommerce-invalid label {
    color: #e2401c !important;
}

.woocommerce-checkout .woocommerce-invalid .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #e2401c !important;
}

/* Add an icon or marker if needed, but border/bg is usually sufficient */
/* .woocommerce-invalid::after {
    content: '\f071'; 
} */

/* Style inline error messages if they appear within the invalid field container */
.woocommerce-checkout .woocommerce-invalid .woocommerce-error-message,
.woocommerce-checkout .woocommerce-invalid .validation-error,
.woocommerce-checkout .woocommerce-invalid .error {
    color: #e2401c !important;
    display: block;
    margin-top: 5px;
}

.checkout-inline-error-message {
    color: #e2401c !important;
}



.font-aed {
    font-family: 'AED Currency' !important;
}

.woocommerce-Price-currencySymbol .font-aed {
    font-family: 'AED Currency' !important;
}

/* Override WooCommerce Validated Field Green Border */
.woocommerce-validated input.input-text,
.woocommerce-validated select {
    border-color: #222 !important;
    /* Match standard border color */
}

.woocommerce-validated input.input-text:focus,
.woocommerce-validated select:focus {
    border-color: #049f82 !important;
    /* Keep your brand focus color */
}


/* === Sorting Toolbar === */
.cf-shop-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
    padding: 0 5%;
}

.woocommerce-ordering {
    margin: 0 !important;
}

.woocommerce-ordering select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 10px 40px 10px 15px;
    /* Extra right padding for arrow */
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 15px top 50%;
    background-size: 10px auto;
    cursor: pointer;
    font-size: 14px;
    color: #333;
    outline: none;
    transition: all 0.2s;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    /* Make it look clickable/lifted */
}

.woocommerce-ordering select:hover {
    border-color: #bbb;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
    /* Highlight on hover */
    /* Focus ring */
}

.woocommerce-pagination {
    text-align: center;
}

/* Fix Cart Variation Alignment */
dl.variation {
    display: grid;
    grid-template-columns: max-content auto;
    align-items: center;
    gap: 0 5px;
    align-items: baseline;
    /* horizontal gap */
}

dl.variation dt {
    float: none !important;
    clear: none !important;
    margin: 0;
    font-weight: 600;
    /* Match typical label weight */
}

dl.variation dd {
    float: none !important;
    margin: 0;
}

dl.variation dd p {
    margin-bottom: 0;
    line-height: normal;
}

#dfo_delivery_type,
#dfo_delivery_time {
    background: #F5F5F7;
    border: none;
    border-radius: 8px;
}

.rc-box.rc-delivery>label {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
}

#billing_state,
#billing_state_field .select2-container--default .select2-selection--single {
    background: #F5F5F7 !important;
    border: none !important;
    border-radius: 8px !important;
}

@media (max-width: 1024px) {
    /* .site-footer-top-section-1.site-footer-section.footer-section-inner-items-1 {
        padding-bottom: 30px !important;
    }

    .site-footer-top-section-2.site-footer-section.footer-section-inner-items-1 {
        padding-bottom: 30px !important;
    }

    .site-footer-top-section-3.site-footer-section.footer-section-inner-items-1 {
        padding-bottom: 30px !important;
    }

    .site-footer-top-section-4.site-footer-section.footer-section-inner-items-1 {
        padding-bottom: 30px !important;
    } */

    .site-top-footer-inner-wrap.site-footer-row.site-footer-row-columns-4.site-footer-row-column-layout-equal.site-footer-row-tablet-column-layout-default.site-footer-row-mobile-column-layout-row.ft-ro-dir-row.ft-ro-collapse-normal.ft-ro-t-dir-column.ft-ro-m-dir-column.ft-ro-lstyle-plain .footer-section-inner-items-1 {
        padding: 30px 0px 0px 0px !important;
    }
}

@media (max-width: 767px) {
    .call-to-btn {
        display: flex;
        flex-direction: column;
    }

    #inner-wrap {
        overflow: auto;
    }

    .custom-payment-icons {
        max-width: 130px;
        margin-left: 0px;
    }
}

/* === Custom Pinned Card (Overlay Style) === */
.custom-pinned-card {
    position: relative;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    overflow: hidden;
    min-height: 480px;
    /* Ensure visual height relative to image */
}

/* Make image cover the whole card */
.custom-pinned-card .cf-card-image {
    width: 100%;
    margin: 0 !important;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.custom-pinned-card .cf-card-image img {
    border-radius: 18px;
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    /* Cover the area */
    max-height: none !important;
}

/* Overlay Text Elements */
.custom-pinned-card .cf-card-title {
    position: absolute;
    top: 25px;
    left: 25px;
    right: 25px;
    z-index: 10;
    margin: 0;
}

.custom-pinned-card .cf-card-title a {
    color: #fff !important;
    font-size: 26px;
    font-weight: 500;
}

.custom-pinned-card .cf-card-bottom {
    position: absolute;
    bottom: 25px;
    left: 25px;
    right: 25px;
    width: auto;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
}

.custom-pinned-card .cf-card-price {
    color: #fff !important;
    font-size: 14px;
    max-width: 60%;
    font-weight: 400;
}

.custom-pinned-card .cf-btn-buy {
    background: #FF8A3D;
    color: #fff;
    padding: 8px 20px;
    font-size: 14px;
    border-radius: 30px;
}

.custom-pinned-card .cf-btn-buy:hover {
    background: #FF9E5E;
}

.navigation.pagination {
    text-align: center;
}

.woocommerce-products-header {
    margin-left: 20px !important;
}

.menu-toggle-icon {
    color: #fff;
}

/* === Custom 404 Page Styles === */
.cf-404-wrapper {
    font-family: 'SF Pro Display', sans-serif;
    text-align: center;
    padding-bottom: 60px;
}

.cf-404-banner {
    background-color: #FAF8F5;
    /* Light Beige */
    padding: 40px 20px;
    margin-bottom: 50px;
    width: 100%;
}

.cf-404-banner h1 {
    font-size: 28px;
    font-weight: 600;
    color: #1d1d1f;
    margin: 0;
}

.cf-404-content h2 {
    font-size: 24px;
    font-weight: 500;
    color: #1d1d1f;
    margin-bottom: 40px;
}

/* 404 Grid */
.cf-404-grid {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.cf-404-card {
    display: flex;
    flex-direction: column;
    width: 250px;
    background: #fff;
    border: 1px solid #E1DBC9;
    /* Beige border */
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cf-404-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06);
}

.cf-404-card-header {
    background: #fff;
    padding: 12px;
    font-size: 16px;
    font-weight: 600;
    color: #000;
    border-bottom: 1px solid #f0f0f0;
}

.cf-404-card-img {
    width: 100%;
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fafafa;
}

.cf-404-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Footer Links */
.cf-404-footer-links {
    margin-top: 50px;
    color: #333;
    font-size: 15px;
    line-height: 1.6;
}

.cf-404-footer-links a {
    color: #0959AA;
    text-decoration: underline !important;
}

@media (max-width: 768px) {
    .cf-404-grid {
        gap: 15px;
    }

    .cf-404-card {
        width: 45%;
        /* 2 per row on mobile */
    }
}

/* === Premium Blog Layout Styles === */

/* Global Reset for Blog Page */
.cf-blog-premium-layout {
    background-color: #fff;
    color: #1d1d1f;
    font-family: 'SF Pro Display', sans-serif;
    line-height: 1.6;
}

.cf-blog-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

.cf-blog-container.skinny {
    max-width: 800px;
}

.cf-blog-container.wide {
    max-width: 1400px;
}

/* Header Section */
.cf-blog-header {
    text-align: center;
    padding: 60px 0 40px;
}

.cf-blog-meta-top {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #86868b;
}

.cf-blog-category a {
    background: #FAF3EA;
    /* Soft beige/orange tint */
    color: #FF8A3D;
    padding: 6px 14px;
    border-radius: 20px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.cf-blog-category a:hover {
    background: #FF8A3D;
    color: #fff;
}

.cf-blog-title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.1;
    color: #1d1d1f;
    margin: 0 auto 30px;
    max-width: 900px;
    letter-spacing: -0.5px;
}

/* Author Meta */
.cf-blog-author-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.cf-blog-author-meta img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
}

.cf-blog-author-info {
    text-align: left;
    display: flex;
    flex-direction: column;
    font-size: 14px;
    line-height: 1.4;
}

.cf-author-name {
    font-weight: 600;
    color: #1d1d1f;
}

.cf-post-date,
.cf-read-time {
    color: #86868b;
}

/* Featured Image */
.cf-blog-featured-image-wrapper {
    margin-bottom: 60px;
}

.cf-featured-img {
    width: 100%;
    height: auto;
    max-height: 700px;
    /* Prevent massive vertical scrolling */
    object-fit: cover;
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

/* Content Area */
.cf-blog-content-wrapper {
    margin-bottom: 80px;
}

.entry-content {
    font-size: 19px;
    line-height: 1.8;
    color: #333;
}

.entry-content p {
    margin-bottom: 24px;
}

.entry-content h2 {
    font-size: 32px;
    font-weight: 600;
    margin-top: 50px;
    margin-bottom: 20px;
    color: #1d1d1f;
    letter-spacing: -0.5px;
}

.entry-content h3 {
    font-size: 24px;
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 16px;
    color: #1d1d1f;
}

.entry-content img {
    border-radius: 12px;
    max-width: 100%;
    height: auto;
    margin: 30px 0;
}

.entry-content blockquote {
    border-left: 4px solid #FF8A3D;
    margin: 40px 0;
    padding: 10px 30px;
    font-size: 24px;
    font-style: italic;
    color: #1d1d1f;
    background: #fafafa;
    border-radius: 0 12px 12px 0;
}

/* Footer Meta */
.cf-blog-footer-meta {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid #e5e5e5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.cf-tags-list a {
    color: #666;
    background: #f5f5f7;
    padding: 6px 12px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 13px;
    margin-right: 8px;
    transition: background 0.2s;
}

.cf-tags-list a:hover {
    background: #e5e5e5;
}

/* Author Box */
.cf-author-box {
    background: #F5F5F7;
    border-radius: 16px;
    padding: 40px;
    margin-top: 60px;
    display: flex;
    gap: 30px;
    align-items: center;
}

.cf-author-box-avatar img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
}

.cf-author-box-content p {
    margin: 0;
    color: #555;
    margin-top: 8px;
}

.cf-author-box-title {
    font-size: 18px;
    font-weight: 700;
    color: #1d1d1f;
}

/* Related Posts */
.cf-related-posts {
    background: #fafafa;
    padding: 80px 0;
    margin-top: 60px;
}

.cf-related-heading {
    text-align: center;
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 50px;
}

.cf-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.cf-related-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.3s;
    border: 1px solid #eee;
    text-decoration: none !important;
}

.cf-related-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.cf-related-img {
    height: 200px;
    width: 100%;
    object-fit: cover;
}

.cf-related-content {
    padding: 25px;
}

.cf-related-title {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 10px;
    color: #1d1d1f;
    line-height: 1.3;
}

.cf-related-date {
    font-size: 13px;
    color: #888;
}

/* Responsive */
@media (max-width: 1024px) {
    .cf-blog-title {
        font-size: 36px;
    }

    .cf-related-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .cf-blog-title {
        font-size: 32px;
    }

    .cf-blog-header {
        padding: 40px 0 20px;
    }

    .cf-featured-img {
        border-radius: 12px;
    }

    .cf-related-grid {
        grid-template-columns: 1fr;
    }

    .cf-author-box {
        flex-direction: column;
        text-align: center;
    }
}

/* === PREMIUM BLOG LAYOUT (Refined) === */

/* Grid Layout */
.cf-blog-grid-layout {
    display: flex;
    gap: 60px;
    align-items: flex-start;
    margin-bottom: 80px;
}

/* Left Column (Main Content) */
.cf-blog-main-column {
    flex: 2;
    /* Takes up ~66% */
    min-width: 0;
    /* Prevent flex overflow */
}

/* Right Column (Sidebar) */
.cf-blog-sidebar-column {
    flex: 1;
    /* Takes up ~33% */
    max-width: 350px;
    position: sticky;
    top: 40px;
    /* Sticky offset */
    height: fit-content;
}

/* Sidebar Styling */
.cf-sidebar-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 2px solid #EEE;
    color: #1d1d1f;
}

.cf-sidebar-categories {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    /* Ensure context */
}

/* Reuse existing card classes but adapt for sidebar */
.cf-sidebar-card.cf-404-card {
    width: 100% !important;
    /* Override fixed width from 404 */
    flex-direction: row;
    /* Horizontal layout for sidebar items */
    align-items: center;
    height: auto;
    border-radius: 12px;
    border: 1px solid #eee;
}

.cf-sidebar-card .cf-404-card-header {
    background: transparent;
    border: none;
    font-size: 14px;
    padding: 15px;
    text-align: left;
    flex: 1;
    /* Take remaining space */
}

.cf-sidebar-card .cf-404-card-img {
    height: 80px;
    width: 80px;
    flex-shrink: 0;
    padding: 0;
    background: #f9f9f9;
}

.cf-sidebar-card .cf-404-card-img img {
    padding: 5px;
    object-fit: contain;
}

/* Responsive Adjustments */
@media (max-width: 1024px) {
    .cf-blog-grid-layout {
        flex-direction: column;
    }

    .cf-blog-sidebar-column {
        max-width: 100%;
        position: static;
        /* Disable sticky on tablet/mobile */
        margin-top: 40px;
    }

    .cf-sidebar-categories {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 600px) {
    .cf-sidebar-categories {
        grid-template-columns: 1fr;
    }
}

/* Sidebar Social Media */
.cf-sidebar-social-wrapper {
    margin-top: 50px;
}

.cf-sidebar-social-icons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.cf-social-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f5f5f7;
    color: #1d1d1f;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.cf-social-icon:hover {
    transform: translateY(-3px);
    color: #fff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* Brand Colors on Hover */
.cf-social-icon.instagram:hover {
    background: #E1306C;
}

.cf-social-icon.facebook:hover {
    background: #1877F2;
}

.cf-social-icon.youtube:hover {
    background: #FF0000;
}

.cf-social-icon.twitter:hover {
    background: #1DA1F2;
}

.cf-social-icon.tiktok:hover {
    background: #000000;
}

/* === Bottom Archive Description Styling === */
.cf-shop-description-bottom {
    background: #ffffff;
    padding: 80px 0;
    margin-top: 60px;
    border-top: 1px solid #e5e5e5;
}

.cf-bottom-archive-description {
    max-width: 1200px;
    /* margin: 0 auto; */
    padding: 0 20px;
}

.cf-bottom-archive-description .archive-description {
    font-size: 16px;
    line-height: 1.8;
    color: #424245;
}

.cf-bottom-archive-description h1,
.cf-bottom-archive-description h2,
.cf-bottom-archive-description h3 {
    color: #1d1d1f;
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 20px;
    line-height: 1.3;
}

.cf-bottom-archive-description h1 {
    font-size: 32px;
}

.cf-bottom-archive-description h2 {
    font-size: 28px;
}

.cf-bottom-archive-description h3 {
    font-size: 22px;
}

.cf-bottom-archive-description p {
    margin-bottom: 20px;
}

.cf-bottom-archive-description ul,
.cf-bottom-archive-description ol {
    margin-bottom: 25px;
    padding-left: 20px;
}

.cf-bottom-archive-description li {
    margin-bottom: 10px;
}

.cf-bottom-archive-description strong {
    color: #1d1d1f;
    font-weight: 600;
}

@media (max-width: 768px) {
    .cf-shop-description-bottom {
        padding: 50px 0;
        margin-top: 40px;
    }

    .cf-bottom-archive-description h1 {
        font-size: 26px;
    }

    .cf-bottom-archive-description h2 {
        font-size: 22px;
    }

    .cf-bottom-archive-description h3 {
        font-size: 19px;
    }
}

/* =============================================
   INLINE SEARCH BAR — expands from icon position
   ============================================= */

/* Wrapper around icon + search form */
.cf-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

/* The search icon button */
.cf-search-wrapper .cf-inline-search-toggle {
    background: transparent !important;
    border: none;
    padding: 5px;
    cursor: pointer;
    color: #fff;
    z-index: 2;
    position: relative;
}

.cf-search-wrapper .cf-inline-search-toggle .kadence-svg-icon {
    width: 24px;
    height: 24px;
}

/* The expandable search form - fixed position to avoid overflow clipping */
.cf-inline-search {
    position: fixed;
    /* top and right are set by JS based on icon position */
    width: 420px;
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    z-index: 99999;
    visibility: hidden;
}

.cf-inline-search.cf-search-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    visibility: visible;
}

/* Search form styling */
.cf-inline-search form {
    display: flex;
    align-items: center;
    border: 2px solid #1a4234;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
    white-space: nowrap;
}

.cf-inline-search form:focus-within {
    border-color: #2d7a5f;
    box-shadow: 0 2px 16px rgba(26, 66, 52, 0.2);
}

.cf-inline-search form input.search-field {
    flex: 1;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
    background: transparent !important;
    color: #333;
    min-width: 0;
}

.cf-inline-search form input.search-field::placeholder {
    color: #aaa;
}

.cf-inline-search form button[type="submit"],
.cf-inline-search form input[type="submit"] {
    background: #1a4234 !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s ease;
    border-radius: 0 !important;
}

.cf-inline-search form button[type="submit"]:hover,
.cf-inline-search form input[type="submit"]:hover {
    background: #2d7a5f !important;
}

/* Kadence search icon inside form */
.cf-inline-search .kadence-search-icon-wrap {
    background: #1a4234 !important;
    padding: 8px 14px !important;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: background 0.2s ease;
}

.cf-inline-search .kadence-search-icon-wrap:hover {
    background: #2d7a5f !important;
}

.cf-inline-search .kadence-search-icon-wrap svg {
    fill: #fff !important;
    color: #fff !important;
}

/* AWS search results scroll containment */
.cf-inline-search .aws-search-result {
    max-height: 60vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

/* Responsive — mobile */
@media (max-width: 768px) {
    .cf-inline-search {
        width: 90vw !important;
        box-sizing: border-box;
    }

    .cf-inline-search form input.search-field,
    .cf-inline-search .aws-search-field {
        padding: 10px 12px !important;
        font-size: 15px !important;
    }

    .cf-inline-search form button[type="submit"],
    .cf-inline-search form input[type="submit"],
    .cf-inline-search .aws-search-btn {
        padding: 10px 14px !important;
    }

    .cf-inline-search .aws-search-result {
        max-height: 50vh;
    }
}

.woocs_auto_switcher.right {
    width: 40px !important;
}