/* ==========================================================================
   Theme Name: Beaver Builder Theme Child (Diane Kole Restored)
   Description: Pixel-perfect restoration stylesheet for dianekole.com
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;600;700&family=Lato:ital,wght@0,300;0,400;0,700;1,400&family=Prata&display=swap');

/* --------------------------------------------------------------------------
   1. GLOBAL RESETS & TYPOGRAPHY
   -------------------------------------------------------------------------- */
*, *:before, *:after {
    box-sizing: border-box;
}

html {
    margin: 0;
    padding: 0;
    background-color: #ffffff !important;
}

body,
body.fl-theme-builder-footer,
body.fl-theme-builder-header,
.fl-page {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
    background-color: #ffffff !important;
    font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 16px;
    line-height: 1.75;
    color: #3a3a3a;
    -webkit-font-smoothing: antialiased;
}

.fl-screen-reader-text {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

h1, h2, h3, h4, h5, h6,
.heading-title,
.pp-heading-title,
.fl-heading-text,
.uabb-infobox-title {
    font-family: 'Prata', Georgia, 'Times New Roman', serif !important;
    color: #111111;
    font-weight: 400;
    margin-top: 0;
}

a {
    color: #f48ba9;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}

a:hover, a:focus {
    color: #ac8ddd;
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* --------------------------------------------------------------------------
   2. HEADER - DESKTOP TOP BAR (Row 1)
   -------------------------------------------------------------------------- */
header.fl-builder-content,
header[role="banner"] {
    background-color: #ffffff !important;
    width: 100%;
    position: relative;
    z-index: 100;
    margin: 0 !important;
    padding: 0 !important;
}

.headmain,
.fl-node-0ldogcv56bur {
    display: block !important;
    background-color: #ffffff !important;
    padding: 16px 0 12px 0 !important;
    width: 100%;
    border-bottom: 1px solid #f2edf8 !important;
}

.headmain > .fl-row-content-wrap > .fl-row-content {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    width: 100% !important;
}

.headmain .fl-col-group,
.fl-node-djv2rk8i5bel {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Left Column: Social Icons */
.headmain .hd-social,
.fl-node-ejk8swcztqx5 {
    flex: 0 0 28% !important;
    max-width: 28% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
}

.headmain .hd-social .fl-module,
.headmain .hd-social .fl-module-content {
    margin: 0 !important;
    padding: 0 !important;
}

/* Center Column: Diane Kole Logo */
.headmain .hd-logo,
.fl-node-07pfzawcbl2x {
    flex: 0 0 44% !important;
    max-width: 44% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Right Column: Phone & Actions */
.headmain .hd-parent,
.fl-node-rd9k760qn3th,
.fl-node-0bu9slntkpmh {
    flex: 0 0 28% !important;
    max-width: 28% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
}

.headmain .hd-parent .fl-col-group-nested,
.fl-node-7bj35ztmc6pg,
.fl-node-uwbyalrjpnxf {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.headmain .hd-phn,
.fl-node-inlzxcd4a0vh {
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.headmain .hd-cart,
.headmain .hd-srch,
.fl-node-1mpy0tnwxqz7,
.fl-node-4iy2fswa13uh,
.fl-node-e81uxjcl9p07,
.fl-node-glm7ho306bcy {
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* --------------------------------------------------------------------------
   3. SOCIAL ICONS (Uniform 36px circular badges)
   -------------------------------------------------------------------------- */
.pp-social-icons {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pp-social-icon {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pp-social-icon a,
.fl-module-pp-social-icons .pp-social-icon a,
.fl-node-8nksijm4t0od .fl-module-content .pp-social-icon a,
.fl-node-nwkrvglo6pds .fl-module-content .pp-social-icon a,
.fl-node-kgvf2ap1tzjn .fl-module-content .pp-social-icon a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    border-radius: 50% !important;
    background-color: #ac8ddd !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: 0 2px 5px rgba(172, 141, 221, 0.3) !important;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pp-social-icon a:hover,
.fl-module-pp-social-icons .pp-social-icon a:hover,
.fl-node-8nksijm4t0od .fl-module-content .pp-social-icon a:hover {
    background-color: #f48ba9 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(244, 139, 169, 0.4) !important;
}

.pp-social-icon a i,
.pp-social-icon a svg,
.pp-social-icon a .fab,
.pp-social-icon a .fas {
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

/* --------------------------------------------------------------------------
   4. LOGO ("Diane Kole" Calligraphy)
   -------------------------------------------------------------------------- */
.hd-logo,
.fl-node-07pfzawcbl2x,
.fl-node-82rekbv06zpy {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.hd-logo a,
.headmain .uabb-infobox-cta-link,
.fl-node-iuvboqwtgnk4 a,
.fl-node-tymozj3p069u a,
.fl-node-07pfzawcbl2x a {
    font-family: 'Dancing Script', cursive, Georgia, serif !important;
    font-size: 52px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    text-decoration: none !important;
    display: inline-block !important;
    line-height: 1 !important;
    letter-spacing: 0.5px !important;
    transition: color 0.2s ease !important;
}

.hd-logo a:hover {
    color: #f48ba9 !important;
}

/* --------------------------------------------------------------------------
   5. PHONE NUMBER, SEARCH & CART BADGES
   -------------------------------------------------------------------------- */
.fl-node-opz8a57fsy4i .uabb-info-list-wrapper {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.fl-node-opz8a57fsy4i .uabb-info-list-item {
    margin: 0 !important;
    padding: 0 !important;
}

.fl-node-opz8a57fsy4i .uabb-info-list-content-wrapper {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Phone Circular Badge */
.fl-node-opz8a57fsy4i .info-list-icon-dynamic0 .uabb-icon-wrap .uabb-icon i,
.fl-node-opz8a57fsy4i .info-list-icon-dynamic0 .uabb-icon-wrap .uabb-icon i:before,
.fl-node-opz8a57fsy4i .uabb-info-list-icon,
.fl-node-opz8a57fsy4i .uabb-imgicon-wrap,
.fl-node-opz8a57fsy4i .uabb-icon-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    line-height: 36px !important;
    border-radius: 50% !important;
    background-color: #ac8ddd !important;
    color: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    box-shadow: 0 2px 5px rgba(172, 141, 221, 0.3) !important;
    border: none !important;
    text-align: center !important;
    transition: transform 0.2s ease, background-color 0.2s ease !important;
}

.fl-node-opz8a57fsy4i .uabb-info-list-content-wrapper:hover .uabb-icon i,
.fl-node-opz8a57fsy4i .uabb-info-list-content-wrapper:hover .uabb-info-list-icon {
    background-color: #f48ba9 !important;
    transform: translateY(-2px) !important;
}

.fl-node-opz8a57fsy4i .uabb-info-list-icon i,
.fl-node-opz8a57fsy4i .uabb-icon i {
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

.fl-node-opz8a57fsy4i .uabb-info-list-content {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fl-node-opz8a57fsy4i .uabb-info-list-description p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.fl-node-opz8a57fsy4i .uabb-info-list-description a {
    font-family: 'Lato', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #222222 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.fl-node-opz8a57fsy4i .uabb-info-list-description a:hover {
    color: #f48ba9 !important;
}

/* Search Circular Badge */
.headmain .dgwt-wcas-search-form {
    display: none;
}

.headmain .dgwt-wcas-search-form.js-dgwt-wcas-active {
    display: block;
}

.headmain .dgwt-wcas-search-wrapp,
.headmain .fl-rich-text p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    background: transparent !important;
}

.dgwt-wcas-search-icon,
.js-dgwt-wcas-search-icon-handler {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    line-height: 36px !important;
    border-radius: 50% !important;
    background-color: #ac8ddd !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 2px 5px rgba(172, 141, 221, 0.3) !important;
}

.dgwt-wcas-search-icon:hover {
    background-color: #f48ba9 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(244, 139, 169, 0.4) !important;
}

.dgwt-wcas-search-icon svg {
    width: 15px !important;
    height: 15px !important;
    fill: #ffffff !important;
}

/* Cart Circular Badge */
.headmain .wpmenucart-shortcode {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.reload_shortcode .wpmenucart-contents .wpmenucart-icon-shopping-cart-0,
.wpmenucart-contents,
.wpmenucart-contents i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    line-height: 36px !important;
    border-radius: 50% !important;
    background-color: #ac8ddd !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
    border: none !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 2px 5px rgba(172, 141, 221, 0.3) !important;
}

.reload_shortcode .wpmenucart-contents .wpmenucart-icon-shopping-cart-0:before,
.wpmenucart-contents .wpmenucart-icon-shopping-cart-0:before {
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.reload_shortcode .wpmenucart-contents .wpmenucart-icon-shopping-cart-0:hover,
.wpmenucart-contents:hover {
    background-color: #f48ba9 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(244, 139, 169, 0.4) !important;
}

/* --------------------------------------------------------------------------
   6. NAVIGATION MENU BAR (Row 2)
   -------------------------------------------------------------------------- */
.headnav,
.fl-node-kmy6gdxs7u54,
.fl-node-w816o23l9p7y {
    display: block !important;
    background-color: #ffffff !important;
    border-top: 1px solid #f0edf5 !important;
    border-bottom: 1px solid #f0edf5 !important;
    padding: 6px 0 !important;
    width: 100% !important;
}

.headnav .fl-row-content,
.fl-node-kmy6gdxs7u54 .fl-row-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

.headnav .menu,
.headnav .pp-advanced-menu-horizontal,
.fl-node-kmy6gdxs7u54 .menu,
.fl-node-1efqtd9c6mgw .menu {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-wrap: wrap !important;
    gap: 4px 22px !important;
}

.headnav .menu-item,
.fl-node-kmy6gdxs7u54 .menu-item,
.fl-node-1efqtd9c6mgw .menu-item {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.headnav .menu-item a,
.fl-node-kmy6gdxs7u54 .menu-item a,
.fl-node-1efqtd9c6mgw .menu-item a {
    color: #2c2c2c !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0.3px !important;
    padding: 8px 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
    border-bottom: 2px solid transparent !important;
    transition: all 0.2s ease !important;
}

.headnav .menu-item a:hover,
.fl-node-kmy6gdxs7u54 .menu-item a:hover,
.fl-node-1efqtd9c6mgw .menu-item a:hover {
    color: #f48ba9 !important;
    border-bottom-color: #f48ba9 !important;
}

.headnav .current-menu-item a,
.fl-node-kmy6gdxs7u54 .current-menu-item a,
.fl-node-1efqtd9c6mgw .current-menu-item a,
.headnav .current-menu-item a .menu-item-text,
.fl-node-kmy6gdxs7u54 .current-menu-item a .menu-item-text {
    color: #f48ba9 !important;
    font-weight: 700 !important;
    border-bottom-color: #f48ba9 !important;
}

/* --------------------------------------------------------------------------
   7. HIDE DUPLICATE MOBILE HEADER ON DESKTOP & MOBILE STYLES
   -------------------------------------------------------------------------- */
@media (min-width: 993px) {
    .fl-visible-mobile,
    .mob-header,
    .headmobile,
    .fl-node-c0qhm5xv4usj,
    .fl-node-r71g82mvaeb0 {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

@media (max-width: 992px) {
    .fl-visible-desktop-medium,
    .headmain,
    .headnav,
    .fl-node-0ldogcv56bur,
    .fl-node-kmy6gdxs7u54,
    .fl-node-w816o23l9p7y {
        display: none !important;
    }

    .fl-visible-mobile,
    .mob-header,
    .headmobile,
    .fl-node-c0qhm5xv4usj,
    .fl-node-r71g82mvaeb0 {
        display: block !important;
        visibility: visible !important;
        background: #ffffff !important;
        border-bottom: 1px solid #f0edf5 !important;
        padding: 10px 15px !important;
    }

    .mob-header .fl-col-group {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    .mob-header .hd-logo a {
        font-family: 'Dancing Script', cursive !important;
        font-size: 38px !important;
    }

    .mob-header .pp-social-icon a {
        width: 30px !important;
        height: 30px !important;
        font-size: 13px !important;
    }
}

/* --------------------------------------------------------------------------
   8. CORE GRID & 2-COLUMN / 3-COLUMN SECTIONS
   -------------------------------------------------------------------------- */
.fl-page {
    width: 100%;
    overflow-x: hidden;
}

.fl-page-content {
    padding: 30px 0 60px 0;
}

.fl-row {
    width: 100%;
    position: relative;
}

.fl-row-content-wrap {
    width: 100%;
    position: relative;
}

.fl-row-fixed-width {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.fl-col-group,
.fl-col-group-equal-height {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
}

.fl-col {
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    padding: 10px;
}

.fl-col-content {
    width: 100% !important;
    height: 100% !important;
}

/* 2-Column Split (Meet The Artist Bio + Photo, Contact info + form, etc.) */
@media (min-width: 769px) {
    .fl-node-cvjw0ak7tqh5,
    .fl-node-e2mfi0tohn9q {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    .fl-node-cvjw0ak7tqh5 > .fl-col,
    .fl-node-0oqxluvrm628,
    .fl-node-7sg6lu4f2mt3,
    .cnt-left,
    .fl-node-zqx7nym4g3o8,
    .fl-node-e2mfi0tohn9q > .fl-col {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

@media (max-width: 768px) {
    .fl-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* --------------------------------------------------------------------------
   9. HEADINGS, PARAGRAPHS & BUTTONS
   -------------------------------------------------------------------------- */
.pp-dual-heading .pp-primary-title {
    font-family: 'Prata', serif !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    font-weight: 700 !important;
    color: #111111 !important;
    display: block !important;
    line-height: 1.25 !important;
}

.pp-dual-heading .pp-secondary-title {
    font-family: 'Prata', serif !important;
    font-size: clamp(22px, 3.2vw, 34px) !important;
    font-weight: 400 !important;
    color: #333333 !important;
    display: block !important;
    line-height: 1.25 !important;
    margin-top: 6px !important;
}

.pp-heading-separator .pp-separator-line {
    display: inline-block !important;
    width: 60px !important;
    height: 3px !important;
    background-color: #ac8ddd !important;
    margin: 15px 0 20px 0 !important;
    border-radius: 2px !important;
}

.pp-sub-heading,
.pp-sub-heading p,
.fl-rich-text p {
    font-family: 'Lato', sans-serif !important;
    font-size: 16.5px !important;
    line-height: 1.8 !important;
    color: #4a4a4a !important;
    margin-bottom: 16px;
}

.pp-photo-container {
    text-align: center !important;
}

.pp-photo-container img {
    border-radius: 8px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.1) !important;
    max-height: 540px !important;
    object-fit: cover !important;
    margin: 0 auto !important;
    width: 100% !important;
}

/* CTA & Form Buttons */
.fl-button,
.uabb-button,
.uabb-creative-button,
.uabb-btn,
.uabb-creative-button-wrap a,
.uabb-creative-button-wrap a:visited,
.gform_button,
input[type="submit"],
button[type="submit"],
.button {
    display: inline-block !important;
    background-color: #ac8ddd !important;
    color: #ffffff !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    padding: 12px 28px !important;
    border-radius: 4px !important;
    border: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 3px 8px rgba(172, 141, 221, 0.35) !important;
    text-align: center !important;
}

.fl-button:hover,
.uabb-button:hover,
.uabb-creative-button:hover,
.uabb-btn:hover,
.uabb-creative-button-wrap a:hover,
.gform_button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.button:hover {
    background-color: #f48ba9 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 14px rgba(244, 139, 169, 0.45) !important;
}

.uabb-button-text,
.uabb-btn-text {
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   10. GALLERY & ARTWORK GRIDS (Paintings, Wall Sculptures, Mica, etc.)
   -------------------------------------------------------------------------- */
.fl-module-pp-gallery,
.fl-module-pp-image-gallery,
.fl-module-pp-gallery .fl-module-content,
.fl-module-pp-image-gallery .fl-module-content,
.wall-sculptures .fl-module-content {
    display: block !important;
    width: 100% !important;
    clear: both !important;
}

.pp-photo-gallery,
.pp-filterable-gallery,
.pp-image-gallery,
.pp-gallery-grid,
.justified-gallery,
.wall-sculptures .pp-photo-gallery {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 25px !important;
    padding: 20px 0 !important;
    width: 100% !important;
    list-style: none !important;
    height: auto !important;
    position: relative !important;
    overflow: visible !important;
    clear: both !important;
}

.pp-photo-gallery-item,
.pp-gallery-justified-item,
.pp-gallery-grid-item,
.pp-gallery-item,
.justified-gallery > div,
.justified-gallery > a,
.gallery-item {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
    background: #ffffff !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 280px !important;
    display: block !important;
    float: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.pp-photo-gallery-item:hover,
.pp-gallery-justified-item:hover,
.pp-gallery-grid-item:hover,
.pp-gallery-item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.15) !important;
}

.pp-photo-gallery-content {
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    display: block !important;
}

.pp-photo-gallery-content a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.pp-gallery-img,
.pp-photo-gallery-item img,
.pp-gallery-justified-item img,
.pp-gallery-item img,
.gallery-icon img {
    width: 100% !important;
    height: 280px !important;
    min-height: 280px !important;
    max-height: 280px !important;
    display: block !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
    border-radius: 8px !important;
}

.pp-photo-gallery-item:hover img,
.pp-gallery-justified-item:hover img,
.pp-gallery-grid-item:hover .pp-gallery-img,
.pp-gallery-item:hover img {
    transform: scale(1.04) !important;
}

/* Gallery Filter Pills */
.pp-gallery-filters-toggle {
    display: none !important;
}

.pp-gallery-filters {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    list-style: none !important;
    margin: 15px 0 25px 0 !important;
    padding: 0 !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.pp-gallery-filter-label {
    display: inline-block !important;
    padding: 7px 18px !important;
    border-radius: 20px !important;
    background-color: #f6f1fc !important;
    color: #444444 !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border: 1px solid #eae0f4 !important;
}

.pp-gallery-filter-label:hover {
    background-color: #f48ba9 !important;
    color: #ffffff !important;
    border-color: #f48ba9 !important;
    transform: translateY(-1px) !important;
}

.pp-gallery-filter-label.pp-filter-active {
    background-color: #ac8ddd !important;
    color: #ffffff !important;
    border-color: #ac8ddd !important;
    box-shadow: 0 2px 6px rgba(172, 141, 221, 0.35) !important;
}

/* --------------------------------------------------------------------------
   11. WOOCOMMERCE & STORE PAGES
   -------------------------------------------------------------------------- */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 25px !important;
    list-style: none !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product {
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important;
    padding: 15px !important;
    background: #fff !important;
    text-align: center !important;
    transition: transform 0.2s ease !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-4px) !important;
}

.woocommerce ul.products li.product img {
    height: 220px !important;
    object-fit: cover !important;
    margin: 0 auto 12px auto !important;
    border-radius: 4px !important;
}

/* --------------------------------------------------------------------------
   12. FOOTER (Refined light theme with responsive subscribe form)
   -------------------------------------------------------------------------- */
footer.fl-builder-content,
footer[role="contentinfo"],
.fl-builder-content[data-type="footer"],
.footer-row > .fl-row-content-wrap {
    background-color: #f7f4fa !important;
    color: #333333 !important;
    border-top: 1px solid #ebe4f3 !important;
    padding: 40px 0 25px 0 !important;
    margin-top: 50px !important;
}

footer h1, footer h2, footer h3, footer h4,
footer .fl-heading-text {
    color: #111111 !important;
    font-family: 'Prata', serif !important;
    font-size: 20px !important;
    margin-bottom: 12px !important;
}

/* Specific Logo only */
footer .ft-logo .fl-module-info-box a,
footer .ft-logo .uabb-infobox-cta-link,
footer .ft-logo .infobox-title-prefix {
    font-family: 'Dancing Script', cursive !important;
    font-size: 42px !important;
    color: #111111 !important;
}

footer a,
footer .menu a,
footer .fl-menu-vertical a {
    color: #444444 !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 14.5px !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

footer a:hover,
footer .menu a:hover,
footer .fl-menu-vertical a:hover {
    color: #f48ba9 !important;
}

footer .uabb-info-list-description p,
footer .uabb-info-list-description a {
    color: #444444 !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
}

footer .uabb-info-list-icon,
footer .uabb-imgicon-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background-color: #ac8ddd !important;
    color: #ffffff !important;
    margin-right: 8px !important;
}

footer .uabb-info-list-icon i,
footer .uabb-info-list-icon svg {
    color: #ffffff !important;
    font-size: 13px !important;
}

/* Footer Subscribe Form Layout */
.ft-logo .pp-subscribe-form,
.ft-logo .pp-subscribe-form-content {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    margin: 15px 0 !important;
    max-width: 320px !important;
}

.ft-logo .pp-form-field {
    flex: 1 1 auto !important;
    margin: 0 !important;
}

.ft-logo .pp-form-field input[type="email"] {
    width: 100% !important;
    height: 42px !important;
    border-radius: 4px 0 0 4px !important;
    border: 1px solid #d4c8e5 !important;
    padding: 0 12px !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 14px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.ft-logo .pp-form-button,
.ft-logo .fl-button-wrap {
    flex: 0 0 auto !important;
    margin: 0 !important;
    width: auto !important;
}

.ft-logo .fl-button,
.ft-logo .pp-button {
    font-family: 'Lato', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    height: 42px !important;
    line-height: 42px !important;
    padding: 0 20px !important;
    border-radius: 0 4px 4px 0 !important;
    background-color: #ac8ddd !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

.ft-logo .fl-button-text {
    font-family: 'Lato', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    white-space: nowrap !important;
}

/* Footer QR Code sizing */
.ft-logo .pp-photo-container {
    max-width: 180px !important;
    margin: 15px 0 !important;
    text-align: left !important;
}

.ft-logo .pp-photo-container img {
    max-width: 180px !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

/* Bottom Copyright Bar */
.fl-node-4k5y36iomd1g,
.fl-node-4j3ay9xecfrw,
.ft-copy p,
.ft-copy .fl-rich-text p {
    color: #777777 !important;
    font-size: 13.5px !important;
}
