/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* ------------------------------------------------------------------
   Homepage (page 3529) — align the video placeholder with the
   "Products Range" product images directly below it.

   Verified root cause:
     * The video gray box is a WooDmart video widget
       (.elementor-element-bbe9f7f) sitting, with the "Products Range"
       heading, inside section .elementor-element-32a998a.
     * The product gallery section (.elementor-element-83e8641) has
       WooDmart's `wd-section-stretch` class, so it breaks out to the FULL
       viewport width. The video/heading section does NOT, so it stays
       inside WooDmart's narrower 88% content area. Below ~1818px the two
       sections therefore have different left/right edges, and the video
       no longer tracks the images.
     * Inside its full-width section the gallery (WP-Coder .gallery
       shortcode) insets images by `padding: 0 5%` (40px/20px at <=768px).

   Fix:
     1. Make the video/heading section full-bleed to the viewport, matching
        the stretched gallery section, so both share the same base width.
     2. Cap their inner content at 1600px (the gallery section's content
        width) and centre it.
     3. Inset the video widget 5% per side to match the gallery images.
   ------------------------------------------------------------------ */

/* 1. Full-bleed the video + heading section to the viewport (match the
      gallery's wd-section-stretch behaviour). */
.elementor-3529 .elementor-element.elementor-element-32a998a {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* 2. Cap the inner at the same 1600px content width as the gallery. */
.elementor-3529 .elementor-element.elementor-element-32a998a.e-con-boxed {
    --content-width: 1600px;
}
.elementor-3529 .elementor-element.elementor-element-32a998a.e-con-boxed > .e-con-inner {
    max-width: 1600px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* 3. Inset the video 5% per side to match the gallery (.gallery padding: 0 5%). */
.elementor-3529 .elementor-element.elementor-element-bbe9f7f {
    padding-left: 5%;
    padding-right: 5%;
    box-sizing: border-box;
}
@media (max-width: 768px) {
    .elementor-3529 .elementor-element.elementor-element-bbe9f7f {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* SEO: visually-hidden H1 for the front page (accessible, not shown visually). */
.nanba-seo-h1.screen-reader-text,
.screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* ------------------------------------------------------------------
   Show the header "Browse Categories" menu only on WooCommerce product
   category / shop pages. On all other pages (Profile, Management, Home,
   etc.) it was appearing in the header where it is not wanted.
   Category pages carry the body class .tax-product_cat / .woodmart-archive-shop;
   everywhere else we hide the header-located menu.
   ------------------------------------------------------------------ */
body:not(.tax-product_cat):not(.woodmart-archive-shop):not(.post-type-archive-product) .whb-header .wd-header-cats {
    display: none !important;
}

/* ------------------------------------------------------------------
   Mobile menu: make sub-menu items readable.
   The mobile nav panel is dark (#0f0f0f, color-scheme-light), but the
   expanded sub-menu links render dark grey (#1d1d1d) — invisible on the
   dark panel. Force light text for all mobile sub-menu links and their
   expand arrows.
   ------------------------------------------------------------------ */
.mobile-nav .sub-menu a,
.mobile-nav .sub-menu a:link,
.mobile-nav li li > a,
.mobile-nav .wd-sub-menu a {
    color: rgba(255, 255, 255, 0.85) !important;
}
.mobile-nav .sub-menu a:hover,
.mobile-nav li li > a:hover {
    color: #ffffff !important;
}
/* Expand/collapse arrows on mobile sub-items. */
.mobile-nav .wd-nav-opener,
.mobile-nav .menu-item .wd-nav-opener::before,
.mobile-nav .menu-item .wd-nav-opener::after {
    color: rgba(255, 255, 255, 0.85) !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
}

/* ------------------------------------------------------------------
   Mobile menu: give the "Our Products" mega-block submenu a left safe
   space. Its category links (Badges & Emblems, Ceremonial Tunics, ...)
   and their "View All" links were rendered flush against the screen's
   left edge (padding-left:0), cutting the initial words. Indent them to
   match the other mobile menu items.
   ------------------------------------------------------------------ */
.mobile-nav .wd-mob-nav-html-block ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.mobile-nav .wd-mob-nav-html-block a {
    display: block;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
}
.mobile-nav .wd-mob-nav-html-block ul ul a {
    padding-left: 36px !important;
    opacity: 0.85;
    font-size: 0.92em;
}

/* ------------------------------------------------------------------
   Fix broken Cart / Checkout layout.
   On these pages the WooCommerce Blocks (cart/checkout) sit in
   .wd-content-area, a flex item with flex:0 1 auto. With the block's
   intrinsic width computing to ~0, the whole content column collapsed
   to zero width, squashing the form into a tiny left strip. Force the
   content area (and the blocks) to take the full available width.
   ------------------------------------------------------------------ */
.woocommerce-checkout .wd-content-layout > .wd-content-area,
.woocommerce-cart .wd-content-layout > .wd-content-area,
.woocommerce-checkout .wd-content-area,
.woocommerce-cart .wd-content-area {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}
.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart {
    width: 100% !important;
    max-width: 100% !important;
}
/* The WooCommerce block checkout is a two-column (form | order summary)
   layout; make sure it lays out in a row on desktop. */
.woocommerce-checkout .wc-block-checkout__form {
    flex: 1 1 auto;
    min-width: 0;
}

/* ------------------------------------------------------------------
   Search dropdown: product/category suggestion titles must be white
   on the dark search-results background so they remain readable.
   Scoped to the search suggestion list only.
   ------------------------------------------------------------------ */
.wd-suggestion .wd-entities-title {
    color: #ffffff !important;
}

/* ------------------------------------------------------------------
   About Us pages (and all pages): banner images inside .wd-image must
   span the full width of their container so page banners display at 100%.
   ------------------------------------------------------------------ */
.wd-image img {
    width: 100% !important;
}

/* ------------------------------------------------------------------
   Homepage (page 3529) — Shop Online section redesign responsive fixes
   ------------------------------------------------------------------ */

/* Mobile: stack the 4 category cards vertically. */
@media (max-width: 767px) {
    .elementor-3529 .elementor-element.elementor-element-40dba429 .elementor-column.elementor-col-25 {
        width: 100% !important;
    }
    .elementor-3529 .elementor-element.elementor-element-40dba429 .e-con.e-grid {
        grid-template-columns: 1fr !important;
    }
    .elementor-3529 .elementor-element.elementor-element-40dba429 .elementor-heading-title {
        text-align: center !important;
    }
}

/* Tablet: show 2 cards per row. */
@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-3529 .elementor-element.elementor-element-40dba429 .elementor-column.elementor-col-25 {
        width: 50% !important;
    }
}
/*
 * Nanba Group PDF redesign custom CSS
 * Append this to the active child theme stylesheet (Appearance > Customize > Additional CSS or child theme style.css).
 * This CSS assumes the corresponding Elementor JSON was loaded via rebuild_homepage.py.
 */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Poppins:wght@300;400;500;600;700&display=swap');

/* Global helper font classes */
.font-playfair { font-family: 'Playfair Display', serif !important; }
.font-poppins   { font-family: 'Poppins', sans-serif !important; }

/* --------------------------------------------------------------------------
   Our Achievements section (31ab62a)
   -------------------------------------------------------------------------- */
.elementor-element-31ab62a .elementor-element-bcf3c90 .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-434e554 .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-1fdee48 .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-90e41bd .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-1deb0f2 .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-1a5acc0 .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-0bd86f7 .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-3abccc0 .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-816bbea .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-a921df6 .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-2365b3c .elementor-heading-title {
    font-family: 'Playfair Display', serif !important;
    color: #191919;
}

.elementor-element-31ab62a .elementor-element-90e41bd .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-1a5acc0 .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-3abccc0 .elementor-heading-title,
.elementor-element-31ab62a .elementor-element-2365b3c .elementor-heading-title {
    color: #0AC775;
}

.elementor-element-31ab62a .elementor-element-6979339 .elementor-widget-text-editor,
.elementor-element-31ab62a .elementor-element-6979339 .elementor-widget-icon-list .elementor-icon-list-text {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: #666666;
}

.elementor-element-31ab62a .elementor-element-e170026 img {
    border-radius: 0;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}

@media (max-width: 767px) {
    .elementor-element-31ab62a .elementor-element-6979339 {
        margin-left: 0 !important;
        padding-top: 25px;
    }
}

/* --------------------------------------------------------------------------
   Products Range heading (32a998a)
   -------------------------------------------------------------------------- */
.elementor-element-32a998a .elementor-element-f9560c8 .elementor-heading-title {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    color: #191919;
}

.elementor-element-32a998a .elementor-element-4a5080c img {
    max-width: 180px;
    margin: 0 auto;
    display: block;
}

/* --------------------------------------------------------------------------
   Product Range grid (rendered by [wp_code id="1"] WOW Coder)
   -------------------------------------------------------------------------- */

/* .gallery-card>a>img {
    transition: transform .45s ease, filter .45s ease;
}

.gallery-card:hover>a>img {
    filter: grayscale(1) !important;
    transform: scale(1.05);
}

.gallery-card {
    background: transparent !important;
}

.gallery-card::before,
.gallery-card::after {
    display: none !important;
}

.elementor-element-40dba429 {
    background-color: #3F237A !important;
}

.elementor-element-40dba429 .elementor-element-3a5aceb .elementor-heading-title,
.elementor-element-40dba429 .elementor-element-862c32a .elementor-heading-title,
.elementor-element-40dba429 .elementor-element-beba8ac .elementor-heading-title,
.elementor-element-40dba429 .elementor-element-34b3361 .elementor-heading-title,
.elementor-element-40dba429 .elementor-element-b5edfc3 .elementor-heading-title,
.elementor-element-40dba429 .elementor-element-58e1fe2 .elementor-heading-title,
.elementor-element-40dba429 .elementor-element-2ee9e6f .elementor-heading-title,
.elementor-element-40dba429 .elementor-element-8d6e35b .elementor-heading-title {
    font-family: 'Poppins', sans-serif;
    color: #FFFFFF;
}

.elementor-element-40dba429 .elementor-element-862c32a .elementor-heading-title {
    font-size: 42px;
    font-weight: 700;
}

.elementor-element-40dba429 .elementor-element-9043e45,
.elementor-element-40dba429 .elementor-element-8ad6ccc,
.elementor-element-40dba429 .elementor-element-29e0f0f,
.elementor-element-40dba429 .elementor-element-2baa0ad {
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.35);
    background: rgba(255,255,255,0.08);
    transition: background 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}

.elementor-element-40dba429 .elementor-element-9043e45:hover,
.elementor-element-40dba429 .elementor-element-8ad6ccc:hover,
.elementor-element-40dba429 .elementor-element-29e0f0f:hover,
.elementor-element-40dba429 .elementor-element-2baa0ad:hover {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.65);
    transform: translateY(-6px);
}

.elementor-element-40dba429 .elementor-element-2c9f3bb .elementor-image-box-img,
.elementor-element-40dba429 .elementor-element-805b5ff .elementor-image-box-img,
.elementor-element-40dba429 .elementor-element-e65cbde .elementor-image-box-img,
.elementor-element-40dba429 .elementor-element-2aca7c6 .elementor-image-box-img {
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid rgba(255,255,255,0.4);
}

.elementor-element-40dba429 .elementor-element-2c9f3bb .elementor-image-box-title,
.elementor-element-40dba429 .elementor-element-805b5ff .elementor-image-box-title,
.elementor-element-40dba429 .elementor-element-e65cbde .elementor-image-box-title,
.elementor-element-40dba429 .elementor-element-2aca7c6 .elementor-image-box-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: #FFFFFF;
    margin-top: 18px;
}

.elementor-element-40dba429 .elementor-element-2c9f3bb .elementor-image-box-description,
.elementor-element-40dba429 .elementor-element-805b5ff .elementor-image-box-description,
.elementor-element-40dba429 .elementor-element-e65cbde .elementor-image-box-description,
.elementor-element-40dba429 .elementor-element-2aca7c6 .elementor-image-box-description {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: rgba(255,255,255,0.85);
}

.elementor-element-40dba429 .elementor-element-ed6b088 img {
    max-width: 260px;
    margin-left: auto;
    display: block;
}

.elementor-element-40dba429 .elementor-element-2eecde1 .elementor-button {
    border-radius: 25px !important;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.elementor-element-40dba429 .elementor-element-2eecde1 .elementor-button-link {
    color: #FFFFFF;
    background: transparent;
    border: 1px solid #FFFFFF;
    transition: all 0.3s ease;
}

.elementor-element-40dba429 .elementor-element-2eecde1 .elementor-button-link:hover {
    background: #FFFFFF;
    color: #3F237A;
    border-color: #FFFFFF;
}

@media (max-width: 767px) {
    .elementor-element-40dba429 .elementor-element-2eecde1 .elementor-button-wrapper {
        text-align: center !important;
    }
    .elementor-element-40dba429 .elementor-element-ed6b088 img {
        margin: 25px auto 0;
    }
} */

/* --------------------------------------------------------------------------
   Exhibitions & Events / Wall of Kindness (2e8f693)
   -------------------------------------------------------------------------- */
.elementor-element-2e8f693 .elementor-element-e8cff7c img {
   \*  width: 100%;
    height: 100%; */
    object-fit: cover;
    border-radius: 0;
}

.elementor-element-2e8f693 .elementor-element-cc4194c {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}

.elementor-element-2e8f693 .elementor-element-8010ecb .elementor-heading-title,
.elementor-element-2e8f693 .elementor-element-def0312 .elementor-heading-title,
.elementor-element-2e8f693 .elementor-element-769f70b .elementor-heading-title,
.elementor-element-2e8f693 .elementor-element-3c3f4a8 .elementor-heading-title {
    font-family: 'Poppins', sans-serif;
    color: #FFFFFF;
}

.elementor-element-2e8f693 .elementor-element-df53f51 .elementor-button {
    \* border-radius: 25px !important; *\
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    \* background: #FFFFFF; *\
    \* color: #191919; *\
    padding: 12px 30px;
    transition: all 0.3s ease;
}

.elementor-element-2e8f693 .elementor-element-df53f51 .elementor-button:hover {
    background: #0AC775;
    color: #FFFFFF;
}

/* --------------------------------------------------------------------------
   Each Effort Counts (ef500d2)
   -------------------------------------------------------------------------- */
.elementor-element-ef500d2 .elementor-element-46b608d .elementor-heading-title {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    color: #191919;
    line-height: 1.2;
    border-left: 3px solid #0AC775;
    padding-left: 10px;
}

.elementor-element-ef500d2 .elementor-element-bee407d {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.elementor-element-ef500d2 .elementor-element-bee407d .elementor-image-box-wrapper {
    flex: 1 1 22%;
    max-width: 22%;
    text-align: center;
}

.elementor-element-ef500d2 .elementor-element-bee407d .elementor-image-box-img img {
    max-height: 90px;
    width: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.elementor-element-ef500d2 .elementor-element-bee407d .elementor-image-box-img img:hover {
    transform: scale(1.05);
}

.elementor-element-ef500d2 .elementor-element-bee407d .elementor-image-box-title {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #191919;
    margin-top: 10px;
}

.elementor-element-ef500d2 .elementor-element-bee407d .elementor-image-box-description {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #C9A227;
    font-weight: 600;
}

@media (max-width: 767px) {
    .elementor-element-ef500d2 .elementor-element-bee407d .elementor-image-box-wrapper {
        flex: 1 1 45%;
        max-width: 45%;
    }
}

/* --------------------------------------------------------------------------
   Red gradient cards (78661a1)
   -------------------------------------------------------------------------- */
.nanba-red-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 280px);
    gap: 16px;
    max-width: 1400px;
    margin: 0 auto;
}

.red-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    padding: 24px;
    color: #FFFFFF;
    background: linear-gradient(135deg, #B71C1C 0%, #E53935 100%);
    box-shadow: 0 8px 20px rgba(183, 28, 28, 0.25);
}

.red-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 60%);
    pointer-events: none;
}

.red-card-text {
    position: relative;
    z-index: 1;
}

.red-card-text h3 {
    font-family: 'Playfair Display', serif;
    font-size: 26px;
    font-weight: 600;
    margin: 0 0 8px;
    line-height: 1.2;
}

.red-card-text p {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    margin: 0;
    opacity: 0.9;
    line-height: 1.5;
}

.red-card.expertise     { grid-column: 1; grid-row: 1; }
.red-card.connecting    { grid-column: 1; grid-row: 2; }
.red-card.matchless     { grid-column: 2; grid-row: 1 / span 2; }
.red-card.change-lens   { grid-column: 3; grid-row: 1; }
.red-card.creativity    { grid-column: 3; grid-row: 2; }

@media (max-width: 991px) {
    .nanba-red-cards {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
    }
    .red-card.expertise, .red-card.connecting, .red-card.change-lens, .red-card.matchless, .red-card.creativity {
        grid-column: auto;
        grid-row: auto;
        min-height: 240px;
    }
}

@media (max-width: 767px) {
    .nanba-red-cards {
        grid-template-columns: 1fr;
    }
    .red-card {
        min-height: 220px;
    }
}

/* --------------------------------------------------------------------------
   Make An Inquiry (379a65d)
   -------------------------------------------------------------------------- */
.elementor-element-379a65d .elementor-element-853dcbd .elementor-heading-title,
.elementor-element-379a65d .elementor-element-f08972e .elementor-heading-title {
    font-family: 'Poppins', sans-serif;
}

.elementor-element-379a65d .elementor-element-f445458,
.elementor-element-379a65d .elementor-element-d6ca902 {
    border-radius: 0;
    box-shadow: 0 0 20px rgba(0,0,0,0.06);
}

.elementor-element-379a65d .elementor-element-023b72e img {
    width: 100%;
    height: auto;
    display: block;
}

.custom-contact-form .icon-message::before {
    top: 20px !important;
}

/* Style the form that is rendered inside this section (Elementor form, CF7, etc.) */
.elementor-element-379a65d form input,
.elementor-element-379a65d form textarea,
.elementor-element-379a65d form select,
.elementor-element-379a65d .wpcf7-form input,
.elementor-element-379a65d .wpcf7-form textarea,
.elementor-element-379a65d .wpcf7-form select {
    font-family: 'Poppins', sans-serif;
    border-radius: 0;
    border: 1px solid #E0E0E0;
   /* padding: 12px 14px; */
    font-size: 14px;
    transition: border-color 0.3s ease;
}

.elementor-element-379a65d form input:focus,
.elementor-element-379a65d form textarea:focus,
.elementor-element-379a65d form select:focus,
.elementor-element-379a65d .wpcf7-form input:focus,
.elementor-element-379a65d .wpcf7-form textarea:focus,
.elementor-element-379a65d .wpcf7-form select:focus {
    border-color: #0AC775;
    outline: none;
}

.elementor-element-379a65d form .elementor-button,
.elementor-element-379a65d .wpcf7-form input[type="submit"] {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    background: #0AC775;
    color: #FFFFFF;
    border-radius: 25px;
    padding: 12px 35px;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}

.elementor-element-379a65d form .elementor-button:hover,
.elementor-element-379a65d .wpcf7-form input[type="submit"]:hover {
    background: #191919;
}

/* --------------------------------------------------------------------------
   Worthy Clicks (a348e38 + 095319b)
   -------------------------------------------------------------------------- */
.elementor-element-a348e38 .elementor-element-5b92416 .elementor-heading-title {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    color: #191919;
}

.elementor-element-095319b .elementor-element .elementor-image-box-img {
    border-radius: 8px;
    overflow: hidden;
}

.elementor-element-095319b .elementor-element .elementor-image-box-img img {
    transition: transform 0.4s ease;
}

.elementor-element-095319b .elementor-element:hover .elementor-image-box-img img {
    transform: scale(1.05);
}

.elementor-element-095319b .elementor-element .elementor-image-box-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #191919;
    margin-top: 14px;
}

.elementor-element-095319b .elementor-element .elementor-image-box-description {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: #0AC775;
}

@media (max-width: 991px) {
    .elementor-element-095319b .elementor-element .elementor-image-box-wrapper {
        margin-bottom: 30px;
    }
}

/* --------------------------------------------------------------------------
   General responsive helpers
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    .font-playfair { font-size-adjust: 0.5; }
    .elementor-element-31ab62a .elementor-element-bcf3c90 .elementor-heading-title { font-size: 36px; }
    .elementor-element-31ab62a .elementor-element-434e554 .elementor-heading-title { font-size: 28px; }
}

/* --------------------------------------------------------------------------
   Homepage asset fixes (re-applied 2026-07-25)
   -------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
   Red cards background-image fixes (78661a1)
   -------------------------------------------------------------------------- */
.red-card {
    background-color: #B71C1C;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Keep the white text readable over the photographic backgrounds */
.red-card::after {
    background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0) 70%);
}

/* --------------------------------------------------------------------------
   Exhibitions & Events 2x2 image grid (2e8f693)
   -------------------------------------------------------------------------- */
#nanba-exhibition-grid .elementor-widget-image {
    flex: 1 1 calc(50% - 8px);
    max-width: calc(50% - 8px);
}

#nanba-exhibition-grid .elementor-widget-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#nanba-exhibition-grid .elementor-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-content: stretch;
    height: 100%;
}

@media (max-width: 767px) {
    #nanba-exhibition-grid .elementor-widget-image {
        flex: 1 1 calc(50% - 8px);
        max-width: calc(50% - 8px);
    }
}

/* --------------------------------------------------------------------------
   BUY WHOLESALE circular category icons (40dba429)
   -------------------------------------------------------------------------- */
.elementor-element-40dba429 .elementor-image-box-img img {
    border-radius: 50%;
    box-shadow: 0 4px 15px rgba(0,0,0,0.25);
}
/* --------------------------------------------------------------------------
   Exhibitions & Events grid gap fix (2e8f693)
   -------------------------------------------------------------------------- */
#nanba-exhibition-grid {
    gap: 8px;
}
