/*
Theme Name: Egptique
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive WordPress + eCommerce Theme.
Version: 1.1
Template: porto
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, corporate, ecommerce, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
*/

/* =========================================================================
   Egyptique — Dark Porto Overrides
   Palette
   --------
   --bg          #0f0f0f   primary background
   --bg-alt      #161616   surfaces (cards, header, sidebars)
   --bg-elev     #1f1f1f   elevated (hovers, inputs)
   --text        #e8e8e8
   --text-muted  #a0a0a0
   --accent      #c9a961   muted gold
   --accent-h    #e8c36e   hover gold
   --accent-d    #8b7640   dark gold
   --border      #2a2a2a
   --danger      #c96161
   ========================================================================= */

:root,
body,
.body,
.porto-wrapper {
    --egy-bg: #0f0f0f;
    --egy-bg-alt: #161616;
    --egy-bg-elev: #1f1f1f;
    --egy-text: #e8e8e8;
    --egy-text-muted: #a0a0a0;
    --egy-accent: #c9a961;
    --egy-accent-h: #e8c36e;
    --egy-accent-d: #8b7640;
    --egy-border: #2a2a2a;
    --egy-danger: #c96161;
    color-scheme: dark;
}

/* ---- Base ------------------------------------------------------------- */
html, body {
    background: var(--egy-bg) !important;
    color: var(--egy-text) !important;
}
body, .body {
    background-color: var(--egy-bg) !important;
}
.main, .main-content, #content, .page-wrapper, .wrapper, .site-content {
    background: var(--egy-bg) !important;
    color: var(--egy-text);
}

/* Typography */
h1, h2, h3, h4, h5, h6,
.entry-title, .post-title, .widget-title,
.product_title, .woocommerce .product .product_title {
    color: var(--egy-text) !important;
}
.entry-content, .post-content, p, li, dd, dt, td, th, span, label {
    color: var(--egy-text);
}
.text-muted, small, .post-meta, .meta, .posted_in, .tagged_as,
.product_meta, .product_meta span, .product_meta a {
    color: var(--egy-text-muted) !important;
}

a { color: var(--egy-accent); transition: color .2s; }
a:hover, a:focus { color: var(--egy-accent-h); text-decoration: none; }

hr, .divider { border-color: var(--egy-border) !important; background: var(--egy-border) !important; }

/* ---- Header ----------------------------------------------------------- */
#header, .header, .header-wrapper,
.header-main, .header-container, .main-header,
.top-header, .header-top, .top-bar,
.sticky-header.fixed, .header-transparent,
.header-contact, .header-search, .header-dropdowns,
.header .header-wrapper, .header .header-main,
.header-side-nav {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    border-color: var(--egy-border) !important;
}
#header *, .header * {
    border-color: var(--egy-border);
}
.header a, .header-contact a, .top-bar a,
.header .menu a, .header .nav a {
    color: var(--egy-text) !important;
}
.header a:hover, .header .menu a:hover, .header .nav a:hover {
    color: var(--egy-accent) !important;
}

/* Main nav */
.main-menu > li > a, #main-menu > li > a,
.menu-custom > li > a, .menu > li > a,
#sidebar-menu > li > a {
    color: var(--egy-text) !important;
}
.main-menu > li:hover > a, .main-menu > li.active > a,
.main-menu > li.current-menu-item > a,
.menu > li:hover > a, .menu > li.current-menu-item > a {
    color: var(--egy-accent) !important;
}

/* Dropdowns / megamenu */
.main-menu .narrow .sub-menu, .main-menu .wide .sub-menu,
.main-menu .sub-menu, .sub-menu, .menu .sub-menu,
.dropdown-menu, .woocommerce-mini-cart,
.side-nav-wrapper, .sidebar-menu {
    background: var(--egy-bg-alt) !important;
    border-color: var(--egy-border) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .7) !important;
}
.sub-menu li a, .dropdown-menu li a, .sub-menu a {
    color: var(--egy-text) !important;
    background: transparent !important;
}
.sub-menu li a:hover, .sub-menu li.current-menu-item > a,
.dropdown-menu li a:hover {
    color: var(--egy-accent) !important;
    background: var(--egy-bg-elev) !important;
}

/* Header search */
.searchform input[type="text"], .searchform input[type="search"],
.search-popup input, .header-search input {
    background: var(--egy-bg-elev) !important;
    color: var(--egy-text) !important;
    border: 1px solid var(--egy-border) !important;
}
.searchform button, .search-popup .btn {
    background: var(--egy-accent) !important;
    color: #111 !important;
    border: none !important;
}

/* Header icons / cart */
.porto-icon, .cart-head-dropdown, .my-account-wrapper,
.header-side-account, .header-side-cart, .header-side-search,
.header-side-navbar {
    color: var(--egy-text) !important;
}
.minicart-icon, .wishlist-icon, .account-icon, .search-toggle {
    color: var(--egy-text) !important;
}
.minicart-icon:hover, .wishlist-icon:hover, .account-icon:hover, .search-toggle:hover {
    color: var(--egy-accent) !important;
}
.cart-items-count, .count, .minicart-count, .wishlist-count {
    background: var(--egy-accent) !important;
    color: #111 !important;
}

/* Logo contrast on dark bg */
.logo img, .site-logo img, .custom-logo { filter: none; }

/* ---- Breadcrumbs ------------------------------------------------------ */
#breadcrumb, .breadcrumb, .breadcrumbs,
.woocommerce-breadcrumb, .page-header, .page-title-wrap {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text-muted) !important;
    border-color: var(--egy-border) !important;
}
.breadcrumb a, .breadcrumbs a, .woocommerce-breadcrumb a { color: var(--egy-accent) !important; }
.breadcrumb a:hover { color: var(--egy-accent-h) !important; }

/* ---- Buttons ---------------------------------------------------------- */
.btn, button, input[type="submit"], input[type="button"],
.button, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce #content input.button,
.woocommerce .single_add_to_cart_button, .single_add_to_cart_button,
.checkout-button {
    background: var(--egy-accent) !important;
    color: #111 !important;
    border: 1px solid var(--egy-accent) !important;
    transition: background .2s, color .2s, transform .15s;
}
.btn:hover, button:hover, input[type="submit"]:hover, input[type="button"]:hover,
.button:hover, .wp-block-button__link:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover {
    background: var(--egy-accent-h) !important;
    color: #111 !important;
    border-color: var(--egy-accent-h) !important;
    transform: translateY(-1px);
}
.btn-outline, .btn.btn-outline-primary, .btn-secondary {
    background: transparent !important;
    color: var(--egy-accent) !important;
    border-color: var(--egy-accent) !important;
}
.btn-outline:hover, .btn.btn-outline-primary:hover, .btn-secondary:hover {
    background: var(--egy-accent) !important;
    color: #111 !important;
}

/* ---- Forms ------------------------------------------------------------ */
input, textarea, select,
input[type="text"], input[type="email"], input[type="password"],
input[type="number"], input[type="tel"], input[type="search"], input[type="url"],
.form-control, .input, .woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea, .woocommerce form .form-row select {
    background: var(--egy-bg-elev) !important;
    color: var(--egy-text) !important;
    border: 1px solid var(--egy-border) !important;
}
input::placeholder, textarea::placeholder { color: #666 !important; }
input:focus, textarea:focus, select:focus, .form-control:focus {
    border-color: var(--egy-accent) !important;
    box-shadow: 0 0 0 3px rgba(201, 169, 97, .15) !important;
    outline: none !important;
}
label { color: var(--egy-text) !important; }

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background: var(--egy-bg-elev) !important;
    color: var(--egy-text) !important;
    border-color: var(--egy-border) !important;
}
.select2-container--default .select2-selection__rendered { color: var(--egy-text) !important; }
.select2-dropdown { background: var(--egy-bg-alt) !important; border-color: var(--egy-border) !important; }
.select2-results__option { color: var(--egy-text) !important; }
.select2-results__option--highlighted {
    background: var(--egy-accent) !important;
    color: #111 !important;
}

/* ---- Shop loop / product cards --------------------------------------- */
.woocommerce ul.products li.product,
.product, .porto-product, .products-container .product,
.woocommerce-loop-product__link {
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    color: var(--egy-text) !important;
    border-radius: 4px;
    transition: transform .2s, border-color .2s, box-shadow .2s;
}
.woocommerce ul.products li.product:hover, .product:hover {
    border-color: var(--egy-accent-d) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .7) !important;
    transform: translateY(-2px);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.product-name, .product-name a, .product-title, .product-title a,
.woocommerce-loop-product__title {
    color: var(--egy-text) !important;
    font-weight: 500;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title:hover,
.product-name a:hover, .product-title a:hover {
    color: var(--egy-accent) !important;
}
.price, .product-price, .amount, bdi, .woocommerce-Price-amount {
    color: var(--egy-accent) !important;
    font-weight: 600;
}
.price del, .price del .amount { color: var(--egy-text-muted) !important; font-weight: 400; }
.price ins, .price ins .amount {
    background: transparent !important;
    color: var(--egy-accent-h) !important;
    text-decoration: none;
}

/* Sale / onsale / featured ribbons */
.onsale, .woocommerce span.onsale, .product-label,
.featured-label, .hot-label, .new-label {
    background: var(--egy-danger) !important;
    color: #fff !important;
    border: none !important;
}

/* Star rating */
.star-rating span::before, .star-rating::before,
.woocommerce .star-rating span::before, .comment-form-rating .stars a {
    color: var(--egy-accent) !important;
}

/* ---- Single product -------------------------------------------------- */
.single-product .product, .single-product .entry-summary,
.woocommerce div.product .summary, .product-single-container {
    background: transparent !important;
    color: var(--egy-text);
}
.woocommerce div.product .product_title { color: var(--egy-accent) !important; }
.stock, .in-stock, .availability-in-stock { color: var(--egy-accent) !important; }
.stock.out-of-stock, .out-of-stock { color: var(--egy-danger) !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-tabs ul.tabs {
    background: transparent !important;
    border-bottom: 1px solid var(--egy-border) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    margin: 0 .5rem 0 0 !important;
    border-radius: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-tabs ul.tabs li a {
    color: var(--egy-text-muted) !important;
    padding: .75rem 1rem !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-tabs ul.tabs li.active {
    background: transparent !important;
    border-bottom: 2px solid var(--egy-accent) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li.active a { color: var(--egy-accent) !important; }
.woocommerce div.product .woocommerce-tabs .panel, .woocommerce-Tabs-panel {
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    color: var(--egy-text) !important;
    padding: 1.5rem !important;
}

.quantity input.qty {
    background: var(--egy-bg-elev) !important;
    color: var(--egy-text) !important;
    border-color: var(--egy-border) !important;
}

/* ---- Cart / Checkout ------------------------------------------------- */
.woocommerce-cart table.cart, .woocommerce table.shop_table,
.cart_totals, .checkout-review-order, .wc-block-cart,
.wc-block-components-totals-wrapper {
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    color: var(--egy-text) !important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border-color: var(--egy-border) !important;
    color: var(--egy-text) !important;
}
.woocommerce-cart .cart-collaterals .cart_totals table td,
.woocommerce-cart .cart-collaterals .cart_totals table th {
    border-color: var(--egy-border) !important;
}
.woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    border-top-color: var(--egy-accent) !important;
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--egy-accent) !important; }
.woocommerce-error {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    border-top-color: var(--egy-danger) !important;
}
.woocommerce-error::before { color: var(--egy-danger) !important; }

.wc-block-components-button, .wc-block-components-checkout-place-order-button {
    background: var(--egy-accent) !important;
    color: #111 !important;
}

/* Mini cart */
.widget_shopping_cart_content, .woocommerce-mini-cart, .mini-cart,
.cart_list, .product_list_widget {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
}
.cart_list li, .product_list_widget li {
    border-bottom: 1px solid var(--egy-border) !important;
}

/* ---- Sidebar / Widgets ----------------------------------------------- */
#sidebar, .sidebar, .widget-area, aside.widget-area {
    background: transparent !important;
}
.widget, .sidebar .widget, .widget-container {
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    color: var(--egy-text) !important;
    padding: 1.25rem !important;
    margin-bottom: 1.5rem !important;
}
.widget-title, .widget h3, .widget h4 {
    color: var(--egy-accent) !important;
    border-bottom: 1px solid var(--egy-border) !important;
    padding-bottom: .5rem !important;
    margin-bottom: 1rem !important;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 1rem !important;
}
.widget ul li, .widget ol li {
    color: var(--egy-text) !important;
    border-bottom: 1px dashed var(--egy-border) !important;
    padding: .4rem 0 !important;
}
.widget ul li:last-child { border-bottom: 0 !important; }
.widget a { color: var(--egy-text) !important; }
.widget a:hover { color: var(--egy-accent) !important; }

/* Price / attribute filters */
.widget_price_filter .ui-slider-range { background: var(--egy-accent) !important; }
.widget_price_filter .ui-slider { background: var(--egy-border) !important; }
.widget_price_filter .ui-slider-handle { background: var(--egy-accent-h) !important; border: none !important; }

/* Tag cloud */
.tagcloud a, .widget_product_tag_cloud a, .widget_tag_cloud a {
    background: var(--egy-bg-elev) !important;
    color: var(--egy-text) !important;
    border: 1px solid var(--egy-border) !important;
    padding: .25rem .6rem !important;
    border-radius: 3px !important;
}
.tagcloud a:hover { background: var(--egy-accent) !important; color: #111 !important; border-color: var(--egy-accent) !important; }

/* ---- Pagination ------------------------------------------------------ */
.woocommerce nav.woocommerce-pagination ul,
.pagination, .porto-pagination {
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
}
.woocommerce nav.woocommerce-pagination ul li {
    border-right: 1px solid var(--egy-border) !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.pagination a, .pagination span {
    color: var(--egy-text) !important;
    background: transparent !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.pagination .current {
    background: var(--egy-accent) !important;
    color: #111 !important;
}

/* ---- Modals / popups ------------------------------------------------- */
.modal-content, .mfp-content, .porto-modal-content,
.select2-dropdown, .popup-content, .quick-view-content {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    border: 1px solid var(--egy-border) !important;
}
.modal-header, .modal-footer { border-color: var(--egy-border) !important; }

/* ---- Footer ---------------------------------------------------------- */
#footer, .footer, .site-footer, .page-footer,
.footer-wrapper, .footer-top, .footer-middle, .footer-bottom,
.footer-widgets, .copyright-section {
    background: #080808 !important;
    color: var(--egy-text-muted) !important;
    border-color: var(--egy-border) !important;
}
.footer a, .site-footer a { color: var(--egy-text-muted) !important; }
.footer a:hover, .site-footer a:hover { color: var(--egy-accent) !important; }
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6,
.footer .widget-title {
    color: var(--egy-accent) !important;
    border-color: var(--egy-border) !important;
}
.footer .widget { background: transparent !important; border: none !important; padding: 0 !important; }

/* ---- Misc Porto specifics -------------------------------------------- */
.porto-block-html-1, .porto-block-html-2, .porto-separator { border-color: var(--egy-border) !important; }
.bg-white, .bg-light, .bg-lighter, .bg-body { background: var(--egy-bg-alt) !important; color: var(--egy-text) !important; }
.text-dark { color: var(--egy-text) !important; }
.text-primary { color: var(--egy-accent) !important; }
.bg-primary { background: var(--egy-accent) !important; color: #111 !important; }
.border { border-color: var(--egy-border) !important; }
.card { background: var(--egy-bg-alt) !important; border-color: var(--egy-border) !important; color: var(--egy-text) !important; }
.card-header, .card-footer { border-color: var(--egy-border) !important; background: var(--egy-bg-elev) !important; }

/* Tables */
table { background: var(--egy-bg-alt) !important; color: var(--egy-text) !important; }
table th, table td { border-color: var(--egy-border) !important; }
table thead th { background: var(--egy-bg-elev) !important; color: var(--egy-accent) !important; }

/* Scrollbar (WebKit) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--egy-bg); }
::-webkit-scrollbar-thumb { background: var(--egy-border); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--egy-accent-d); }

/* Selection */
::selection { background: var(--egy-accent); color: #111; }

/* Cookie / popup notices */
.cli-bar-container, .cookie-notice, #cookie-notice {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    border-top: 1px solid var(--egy-border) !important;
}

/* My Account */
.woocommerce-MyAccount-navigation ul li {
    background: var(--egy-bg-alt) !important;
    border-color: var(--egy-border) !important;
}
.woocommerce-MyAccount-navigation ul li a { color: var(--egy-text) !important; }
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover { color: var(--egy-accent) !important; }

/* Banner blocks on homepage */
.porto-sicon-block, .info-box, .feature-box {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    border-color: var(--egy-border) !important;
}

/* Quick view / compare popups */
.mfp-bg { background: rgba(0, 0, 0, .85) !important; }
.mfp-close { color: var(--egy-text) !important; }


/* =========================================================================
   PORTO HEADER — targeted dark overrides
   ========================================================================= */

/* Rewire Porto's own CSS variables so any element using them flips */
:root, html, body, #wrapper, .porto-wrapper {
    --porto-dark-color: #e8e8e8 !important;
    --porto-light-color: #0f0f0f !important;
    --porto-primary-color: var(--egy-accent) !important;
    --porto-secondary-color: var(--egy-accent-d) !important;
    --porto-heading-color: var(--egy-text) !important;
    --porto-body-color: var(--egy-text) !important;
    --porto-border-color: var(--egy-border) !important;
    --porto-bg-color: var(--egy-bg) !important;
}

/* ---- Header shell ---------------------------------------------------- */
#header,
#header.header-builder,
#header.header-builder-p,
#header .porto-wrap-container,
#header .container,
#header .container-fluid,
#header .wpb_wrapper,
#header .vc_column-inner,
#header .vc_column_container,
#header .vc_row,
#header .top-row,
#header.sticky-header,
.fixed-header #header.sticky-header {
    background-color: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    border-color: var(--egy-border) !important;
}
#header .vc_custom_1758072140261,
#header [class*="vc_row-has-fill"] {
    background-color: #101010 !important;
    border-bottom: 1px solid var(--egy-border) !important;
}

/* ---- Logo size ------------------------------------------------------- */
#header .logo a { display: inline-flex; align-items: center; line-height: 0; }
#header .logo img,
#header .logo .standard-logo,
#header .logo .retina-logo,
#header .custom-logo,
#header .img-responsive {
    max-height: 68px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
}
#header .logo,
#header .logo.wpb_custom_1c5be94e08328b7326efe21c5063bd7b {
    padding: 0.5rem 0 !important;
    margin: 0 auto !important;
    text-align: center;
}

/* ---- Top bar (sale text, socials, language switcher) ----------------- */
#header .vc_custom_heading { color: var(--egy-text-muted) !important; }
#header .vc_custom_heading span,
#header .vc_custom_heading strong,
#header .vc_custom_heading [style*="color"] { color: var(--egy-accent) !important; }

#header .share-links a { color: var(--egy-text-muted) !important; }
#header .share-links a:hover { color: var(--egy-accent) !important; }

#header .currency-switcher a,
#header .view-switcher a,
#header .porto-view-switcher a,
#header .porto-sicon-box-link,
#header .porto-sicon-title,
#header .porto-sicon-default i,
#header .porto-icon i,
#header .porto-icon {
    color: var(--egy-text) !important;
}
#header .currency-switcher a:hover,
#header .view-switcher a:hover,
#header .porto-sicon-box-link:hover .porto-sicon-title,
#header .porto-sicon-box-link:hover .porto-icon,
#header .porto-sicon-box-link:hover i { color: var(--egy-accent) !important; }

/* Dropdowns off the top bar */
#header .sub-menu,
#header .popup,
#header .popup .inner {
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .7) !important;
}
#header .sub-menu a, #header .popup a { color: var(--egy-text) !important; }
#header .sub-menu a:hover, #header .popup a:hover {
    color: var(--egy-accent) !important;
    background: var(--egy-bg-elev) !important;
}

/* ---- Search (header) ------------------------------------------------- */
#header .searchform,
#header .search-layout-advanced,
#header .searchform-popup,
#header .searchform-fields,
#header .header-search .searchform,
.fixed-header #header .wpb_custom_976dca862d5718685abba5e3967f2c9e .searchform {
    background-color: var(--egy-bg-elev) !important;
    border: 1px solid var(--egy-border) !important;
    border-radius: 4px;
}
#header .searchform input[type="text"],
#header .searchform input[type="search"],
#header .searchform .text input,
#header .searchform-popup input {
    background: transparent !important;
    color: var(--egy-text) !important;
    border: none !important;
    box-shadow: none !important;
}
#header .searchform input::placeholder,
#header .searchform-popup input::placeholder { color: #6a6a6a !important; }
#header .searchform button,
#header .search-toggle,
#header .btn-special {
    background: transparent !important;
    color: var(--egy-accent) !important;
    border: none !important;
}
#header .searchform button:hover,
#header .btn-special:hover { color: var(--egy-accent-h) !important; }

#header .search-lists, #header .search-list, #header .live-search-list {
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    color: var(--egy-text) !important;
}
#header .search-list .title { color: var(--egy-text-muted) !important; }
#header .search-list a { color: var(--egy-text) !important; }
#header .search-list a:hover { color: var(--egy-accent) !important; }

/* ---- Main menu ------------------------------------------------------- */
#header .main-menu > li.menu-item > a,
#header .custom-menu > li.menu-item > a,
#header .top-links > li.menu-item > a,
#header .main-menu > li.menu-item > .arrow:before,
#header .custom-menu > li.menu-item > .arrow:before,
#header .menu-custom-block a,
#header .menu-custom-block span {
    color: var(--egy-text) !important;
}
#header .main-menu > li.menu-item.active > a,
#header .main-menu > li.menu-item:hover > a,
#header .custom-menu > li.menu-item:hover > a,
#header .custom-menu > li.menu-item.current-menu-item > a,
#header .main-menu > li.menu-item.active > .arrow:before,
#header .main-menu > li.menu-item:hover > .arrow:before {
    color: var(--egy-accent) !important;
}
#header .menu-hover-line > li.menu-item > a:before,
#header .menu-hover-underline > li.menu-item > a:before {
    background-color: var(--egy-accent) !important;
}

/* ---- Header icons (account / wishlist / cart) ------------------------ */
#header .my-account,
#header .my-account i,
#header .my-wishlist,
#header .my-wishlist i,
#header #mini-cart .minicart-icon,
#header #mini-cart .cart-head,
#header #mini-cart .cart-items-text,
#header .cart-head:after {
    color: var(--egy-text) !important;
}
#header .my-account:hover,
#header .my-wishlist:hover,
#header #mini-cart:hover .minicart-icon,
#header #mini-cart:hover .cart-head,
#header .search-toggle:hover {
    color: var(--egy-accent) !important;
}
#header #mini-cart .cart-items {
    background-color: var(--egy-accent) !important;
    color: #111 !important;
    font-weight: 700 !important;
}

#header [class*="wpb_custom_"]:hover .my-account,
#header [class*="wpb_custom_"]:hover .my-wishlist,
#header [class*="wpb_custom_"]:hover .minicart-icon,
#header [class*="wpb_custom_"]:hover .porto-sicon-title,
#header [class*="wpb_custom_"]:hover .porto-icon,
#header [class*="wpb_custom_"]:hover .porto-sicon-description {
    color: var(--egy-accent-h) !important;
}

/* ---- Mini-cart popover ---------------------------------------------- */
#header .cart-popup,
#header .widget_shopping_cart,
#header .widget_shopping_cart_content {
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    color: var(--egy-text) !important;
}
#header .cart-popup .product_list_widget li { border-color: var(--egy-border) !important; }

/* ---- Mobile toggle --------------------------------------------------- */
#header .mobile-toggle, #header .mobile-toggle i { color: var(--egy-text) !important; }
#header .mobile-toggle:hover { color: var(--egy-accent) !important; }

/* ---- Nested row-has-fill transparency ------------------------------- */
#header .vc_row-has-fill > .wpb_column { background-color: transparent !important; }

#header .vc_custom_1758075788128 { padding-top: 1.2rem !important; padding-bottom: 1.2rem !important; }

#header::after {
    content: "";
    display: block;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--egy-accent-d), transparent);
    opacity: .45;
}

.sticky-header.fixed, .sticky-header.stuck {
    background: rgba(16, 16, 16, .92) !important;
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 14px rgba(0, 0, 0, .7) !important;
}


/* =========================================================================
   MEGA-MENU alphabetical columns (BRANDS-style)
   Targets ONLY the 4-column Gods/Kings menus via the custom parent class
   `.wide.mega-menu` — does not affect other Porto mega menus.
   ========================================================================= */

/* ---- Mega-menu parent must be STATIC so popup positions from the UL -- */
#header .main-menu { position: relative !important; }
#header .main-menu > li.wide.mega-menu { position: static !important; }

/* ---- POPUP container: stretches across the menu row ------------------ */
#header .main-menu > li.wide.mega-menu > .popup {
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#header .main-menu > li.wide.mega-menu > .popup > .inner {
    padding: 0 !important;
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    border-top: 2px solid var(--egy-accent) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .75) !important;
    border-radius: 2px;
}

/* ---- OUTER sub-menu: 4-column flex row ------------------------------- */
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 2rem !important;
    padding: 1.75rem 2rem !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    list-style: none !important;
    min-width: 0 !important;
    width: 100% !important;
    position: static !important;
}

/* ---- COLUMN (heading `li`) ------------------------------------------- */
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading {
    flex: 1 1 25% !important;
    min-width: 180px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    list-style: none !important;
    position: static !important;       /* kill Porto's flyout positioning */
}

/* The column heading LINK (A - H, I - N, etc.) */
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading > a {
    display: block !important;
    padding: .25rem 0 .7rem !important;
    font-size: .78rem !important;
    font-weight: 600 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: var(--egy-text-muted) !important;
    border-bottom: 1px solid var(--egy-border) !important;
    margin: 0 0 .75rem 0 !important;
    background: transparent !important;
    cursor: default !important;
    pointer-events: none !important;
}
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading > a::before,
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading > a::after,
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading > .arrow {
    display: none !important;
}

/* ---- INNER sub-menu (items under each column heading) ---------------- */
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading > ul.sub-menu {
    display: block !important;
    position: static !important;       /* override Porto absolute flyout */
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    pointer-events: auto !important;
}

/* Each link item in a column */
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading > ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    float: none !important;
    list-style: none !important;
}
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading > ul.sub-menu > li > a {
    display: block !important;
    width: 100% !important;
    padding: .45rem 0 !important;
    font-size: .92rem !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--egy-text) !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: color .18s, transform .18s;
}
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading > ul.sub-menu > li > a::before,
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading > ul.sub-menu > li > a::after {
    display: none !important;
}
#header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading > ul.sub-menu > li > a:hover {
    color: var(--egy-accent) !important;
    transform: translateX(3px);
    background: transparent !important;
}

/* Hide any "arrow" indicators on heading items */
#header .main-menu > li.wide.mega-menu .menu-item-heading .arrow { display: none !important; }

/* ---- Responsive — stack columns below 992px -------------------------- */
@media (max-width: 991px) {
    #header .main-menu > li.wide.mega-menu > .popup { min-width: 0 !important; width: 100% !important; left: 0 !important; transform: none !important; }
    #header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu { flex-wrap: wrap !important; gap: 1rem !important; padding: 1rem !important; }
    #header .main-menu > li.wide.mega-menu > .popup > .inner > ul.sub-menu > li.menu-item-heading { flex: 1 1 100% !important; }
}


/* =========================================================================
   KILL ANY REMAINING WHITE / LIGHT SURFACES
   Forces every background to the dark palette. Broad but all scoped to
   visible surfaces, so it won't break images or icons.
   ========================================================================= */

/* Global "light" utility classes → dark */
.bg-white, .bg-light, .bg-lighter, .bg-body, .bg-cream,
[style*="background-color: #fff"],
[style*="background-color: #ffffff"],
[style*="background-color:#fff"],
[style*="background-color:#ffffff"],
[style*="background: #fff"],
[style*="background:#fff"],
[style*="background: #ffffff"],
[style*="background:#ffffff"] {
    background-color: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
}

/* Porto demo uses vc_custom classes with cream backgrounds (#f9f2ed, #f4f4f4 etc) */
[class*="vc_custom_"] {
    background-color: transparent !important;
}
/* But keep hero/banner backgrounds that might be intentional images */
[class*="vc_custom_"][style*="background-image"] { background-color: transparent !important; }

/* ---- PRODUCT CARD surfaces ------------------------------------------ */
.woocommerce ul.products li.product,
.woocommerce .product,
.product.porto-product,
.porto-tb-loop-product,
.porto-tb-content-wrap,
.porto-tb-predefined,
.porto-tb-content,
.porto-tb-woo-content,
.porto-tb-bottom,
.porto-tb-top,
.product-inner,
.product-content,
.product-info,
.product-info-section,
.product-details,
.woocommerce-loop-product__content,
.porto-tb-woo-title,
.porto-tb-woo-title a,
.product-categories,
.product-category-area {
    background-color: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    border-color: var(--egy-border) !important;
}

/* Product image holder (keeps image visible; removes white card around it) */
.woocommerce ul.products li.product .product-image,
.woocommerce ul.products li.product .product-thumbnail,
.porto-tb-image,
.porto-tb-thumb,
.porto-tb-predefined-image,
.woocommerce-loop-product__link {
    background-color: var(--egy-bg) !important;
}

/* Inner caption area under image */
.woocommerce ul.products li.product .porto-tb-featured-image + *,
.woocommerce ul.products li.product > a + *,
.woocommerce ul.products li.product .porto-tb-container {
    background: var(--egy-bg-alt) !important;
}

/* Category label above title (the thin uppercase line) */
.product-categories a,
.porto-tb-meta a,
.product-category-area a,
.wpb_custom_ a {
    color: var(--egy-text-muted) !important;
}
.product-categories a:hover, .porto-tb-meta a:hover { color: var(--egy-accent) !important; }

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.porto-tb-woo-title,
.porto-tb-woo-title a,
.product-title, .product-title a,
.products .product-name a {
    color: var(--egy-text) !important;
    background: transparent !important;
}
.products .product:hover .product-title a,
.products .product:hover .porto-tb-woo-title a { color: var(--egy-accent) !important; }

/* ---- PRODUCT ARCHIVE (Shop / Category pages) ------------------------- */
.woocommerce-products-header,
.woocommerce-shop .main-content,
.archive.woocommerce .main-content,
.post-type-archive-product .main-content,
.shop-container,
.product-container,
.products-container,
.woocommerce-page .main,
body.woocommerce-page,
body.archive,
body.post-type-archive-product,
.site-content-contain,
#content, #main, .site-main,
.page-content,
.main,
.wrapper,
.container,
.container-fluid,
.container-wrapper,
.shop-wrap,
.shop-content,
.shop-main,
.porto-products-wrapper,
.porto-shop-loop {
    background-color: var(--egy-bg) !important;
    color: var(--egy-text) !important;
}

/* Page title area (Home > Shop > Category) */
.page-header,
.page-top,
.page-title,
.porto-page-title,
.entry-header,
.breadcrumb-container,
.breadcrumb-wrap {
    background-color: var(--egy-bg) !important;
    color: var(--egy-text-muted) !important;
    border-color: var(--egy-border) !important;
}

/* Shop toolbar (sort / view switcher / per-page) */
.shop-loop-before, .woocommerce-notices-wrapper, .shop-top-toolbar,
.porto-toolbar, .toolbox,
.woocommerce .products-footer,
.porto-posts-slider-pagination {
    background: transparent !important;
    color: var(--egy-text) !important;
}
.shop-loop-before select,
.woocommerce-ordering select,
.per-page select {
    background: var(--egy-bg-elev) !important;
    color: var(--egy-text) !important;
    border-color: var(--egy-border) !important;
}

/* View-mode toggle buttons (grid / list) on the right of toolbar */
.porto-view-mode a, .view-switcher a,
.shop-toolbox .toolbox-item a,
.toolbox-item .grid, .toolbox-item .list,
.view-mode a, .shop-mode a {
    background: var(--egy-bg-elev) !important;
    color: var(--egy-text) !important;
    border: 1px solid var(--egy-border) !important;
}
.porto-view-mode a.active, .view-switcher a.active,
.view-mode a.active, .shop-mode a.active {
    background: var(--egy-accent) !important;
    color: #111 !important;
    border-color: var(--egy-accent) !important;
}

/* Per-page counter pill */
.porto-toolbar .per-page,
.woocommerce-result-count { color: var(--egy-text-muted) !important; }

/* ---- Sidebar widgets (shop filters) ---------------------------------- */
#shop-sidebar, .shop-sidebar, #sidebar, .sidebar {
    background: transparent !important;
}
.widget, .sidebar .widget, .shop-sidebar .widget {
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    color: var(--egy-text) !important;
}

/* ---- Single product page --------------------------------------------- */
.single-product.woocommerce .product,
.single-product .entry-summary,
.single-product .product-summary,
.single-product .product-single-container,
.product-gallery-wrap,
.product-gallery,
.woocommerce-product-gallery,
.porto-product-single-gallery,
.woocommerce-product-gallery__wrapper,
.product-image-wrap,
.product-image,
.related.products,
.upsells.products {
    background: var(--egy-bg) !important;
    color: var(--egy-text) !important;
}

.woocommerce-breadcrumb, .breadcrumb { color: var(--egy-text-muted) !important; }
.woocommerce-breadcrumb a { color: var(--egy-accent) !important; }

/* ---- Cart / Checkout / My Account ------------------------------------ */
.woocommerce-cart-form, .checkout, .woocommerce-checkout,
.woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation,
.cart-collaterals, .wc-block-cart, .wc-block-checkout {
    background: var(--egy-bg) !important;
    color: var(--egy-text) !important;
}

/* ---- Blog / archive posts (if any) ----------------------------------- */
.post, .blog-posts .post, article.post {
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    color: var(--egy-text) !important;
}

/* ---- Generic safety net: no element gets a white bg ------------------ */
section, main, article, aside, div, ul, ol, li, td, th, form {
    /* do not force-override every div — only if the element inline-sets white */
}
/* But override the common Porto/WC wrappers that have a white default */
.entry-content, .post-content, .main-content,
.woocommerce, .woocommerce-page,
.site, #page, #main, .main, .content-area {
    background-color: var(--egy-bg) !important;
}

/* ---- Buttons that inherited white bg --------------------------------- */
.porto-btn, .btn-default, .button-default {
    background: var(--egy-bg-elev) !important;
    color: var(--egy-text) !important;
    border: 1px solid var(--egy-border) !important;
}
.porto-btn:hover, .btn-default:hover {
    background: var(--egy-accent) !important;
    color: #111 !important;
    border-color: var(--egy-accent) !important;
}

/* ---- Tooltips / quickview / popups ----------------------------------- */
.tooltip-inner, .popover, .porto-tooltip {
    background: var(--egy-bg-elev) !important;
    color: var(--egy-text) !important;
    border: 1px solid var(--egy-border) !important;
}

/* ---- Footer (already overridden earlier but reinforce) --------------- */
#footer, .footer, .site-footer, .page-footer { background: #080808 !important; }

/* Footer logo sizing — cap at 40% of its column width */
#footer .vc_custom_egy_footer_logo,
.footer .vc_custom_egy_footer_logo,
#footer [class*="egy_footer_logo"],
.footer [class*="egy_footer_logo"] {
    max-width: 40% !important;
    display: block;
    margin-top: -6px !important;
    margin-bottom: 22px !important;
}
#footer .vc_custom_egy_footer_logo img,
.footer .vc_custom_egy_footer_logo img,
#footer [class*="egy_footer_logo"] img {
    max-width: 100% !important;
    height: auto !important;
    width: auto !important;
}

/* ---- Kill hardcoded white inline style attributes via attribute sel -- */
[style*="background: #f9f2ed"], [style*="background:#f9f2ed"],
[style*="background-color: #f9f2ed"], [style*="background-color:#f9f2ed"],
[style*="background: #f4f4f4"], [style*="background:#f4f4f4"],
[style*="background-color: #f4f4f4"], [style*="background-color:#f4f4f4"],
[style*="background: #fafafa"], [style*="background:#fafafa"] {
    background-color: var(--egy-bg-alt) !important;
}

/* ---- Card / panel fallbacks ----------------------------------------- */
.panel, .panel-body, .panel-default, .panel-heading, .panel-footer,
.well, .alert, .card, .card-body {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    border-color: var(--egy-border) !important;
}


/* =========================================================================
   PRODUCT CARD — show full featured image at its natural aspect ratio
   ========================================================================= */

/* Remove the 1:1 crop we applied earlier on loop product images */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .wp-post-image,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail,
.porto-tb-loop-product img,
.porto-tb-thumb img,
.porto-tb-image img,
.products li.product .product-image img,
.products li.product .wp-post-image {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

/* Image container: remove fixed heights / crops Porto may set */
.woocommerce ul.products li.product .product-image,
.woocommerce ul.products li.product .porto-tb-thumb,
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.porto-tb-loop-product .porto-tb-thumb,
.porto-tb-loop-product .porto-tb-featured-image,
.products li.product figure,
.products li.product .product-image-wrap {
    aspect-ratio: auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    background: var(--egy-bg) !important;
    display: block !important;
}

/* Prevent Porto's hover-swap image from forcing the first image to absolute position */
.woocommerce ul.products li.product .product-image img,
.porto-tb-thumb img {
    position: static !important;
    transform: none !important;
}

/* Kill Porto's padding-top percentage trick that enforces a square */
.porto-tb-thumb::before,
.porto-tb-image::before,
.product-image::before {
    display: none !important;
    padding-top: 0 !important;
    content: none !important;
}

/* Keep grid rows tidy — cards align top, not all stretched to same image height */
.woocommerce ul.products, ul.products {
    align-items: start !important;
}
.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
}

/* Title / meta area sits nicely under the image */
.woocommerce ul.products li.product .porto-tb-woo-title,
.woocommerce ul.products li.product .price {
    margin-top: auto;
}

/* Slight padding inside card so image isn't flush with border */
.woocommerce ul.products li.product {
    padding: 0 !important;
    overflow: hidden;
}
.woocommerce ul.products li.product > .porto-tb-content,
.woocommerce ul.products li.product .porto-tb-loop-content,
.woocommerce ul.products li.product .product-info,
.woocommerce ul.products li.product .product-content {
    padding: 1rem !important;
}


/* =========================================================================
   MASONRY layout for Porto product archive pages
   Porto uses: .posts-wrap.products-container > .porto-tb-item.product
   (not the standard ul.products > li.product)
   ========================================================================= */

/* ---- Kill Bootstrap .img-thumbnail white border on ALL product imgs -- */
.img-thumbnail,
a.img-thumbnail,
.porto-tb-featured-image a.img-thumbnail,
.porto-tb-featured-image .img-thumbnail,
.product .img-thumbnail {
    padding: 0 !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ---- Outer container: flip Porto ccols grid to masonry columns ------ */
body.woocommerce .posts-wrap.products-container,
body.archive .posts-wrap.products-container,
body.woocommerce-page .posts-wrap.products-container,
.woocommerce .posts-wrap.products-container {
    display: block !important;
    column-count: 3;                          /* desktop: 3 per row */
    column-gap: 1.25rem;
    padding: 0 !important;
    margin: 0 !important;
    grid-template-columns: none !important;   /* nuke any CSS grid Porto set */
}

/* Tablet + mobile: 2 per row */
@media (max-width: 991px) {
    body.woocommerce .posts-wrap.products-container,
    .woocommerce .posts-wrap.products-container { column-count: 2 !important; }
}

/* ---- Each product card -------------------------------------------- */
.porto-tb-item.product,
.posts-wrap.products-container > .porto-tb-item,
.posts-wrap.products-container > .product {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 0 1.25rem 0 !important;
    padding: 0 !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    transition: transform .2s, border-color .2s, box-shadow .2s !important;
}
.porto-tb-item.product:hover,
.posts-wrap.products-container > .porto-tb-item:hover {
    transform: translateY(-3px) !important;
    border-color: var(--egy-accent-d) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .65) !important;
}

/* ---- Featured image area ------------------------------------------ */
.porto-tb-item .porto-tb-featured-image,
.porto-tb-item .product-image,
.porto-tb-item .tb-image-type-default {
    display: block !important;
    background: var(--egy-bg) !important;
    padding: 0 !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    position: relative;
}
.porto-tb-item .porto-tb-featured-image a,
.porto-tb-item .porto-tb-featured-image .img-thumbnail,
.porto-tb-item .porto-tb-featured-image a.img-thumbnail {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    background: var(--egy-bg) !important;
    border: none !important;
    border-radius: 0 !important;
    line-height: 0 !important;
}
.porto-tb-item .porto-tb-featured-image img,
.porto-tb-item .porto-tb-featured-image .img-responsive,
.porto-tb-item img.wp-post-image {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
    object-fit: contain !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--egy-bg) !important;
    border: none !important;
    border-radius: 0 !important;
}

/* ---- Caption / content block under the image ---------------------- */
.porto-tb-item .porto-section,
.porto-tb-item .porto-tb-content-wrap,
.porto-tb-item .porto-tb-bottom,
.porto-tb-item .porto-tb-container,
.porto-tb-item .porto-tb-meta-wrap {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    padding: .85rem 1rem 1rem !important;
    text-align: left !important;             /* left-align all info */
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

/* Title — left-aligned, max 2 lines with ellipsis.
   Porto outputs <h3 class="porto-heading post-title" style="...line-clamp:1..."> inline;
   we need !important and to also zero the inline style via a matching property. */
.porto-tb-item .porto-tb-woo-title,
.porto-tb-item .product-title,
.porto-tb-item .post-title,
.porto-tb-item h3.post-title,
.porto-tb-item .porto-heading.post-title,
.porto-tb-item h1.post-title,
.porto-tb-item h2.post-title,
.porto-tb-item h3.porto-heading,
.porto-tb-item [class*="porto-heading"].post-title {
    color: var(--egy-text) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    margin: .35rem 0 !important;
    text-align: left !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: 2.7em !important;            /* 2 lines × 1.35 line-height */
    min-height: 2.7em !important;            /* reserve space so cards align */
    word-break: break-word !important;
    white-space: normal !important;
}
.porto-tb-item .porto-tb-woo-title a,
.porto-tb-item .product-title a,
.porto-tb-item .post-title a,
.porto-tb-item h3.post-title a,
.porto-tb-item h3.porto-heading a {
    color: inherit !important;
    display: inline !important;
    text-align: left !important;
    white-space: normal !important;
}
.porto-tb-item:hover .porto-tb-woo-title a,
.porto-tb-item:hover .product-title a,
.porto-tb-item:hover .post-title a,
.porto-tb-item:hover h3.post-title a {
    color: var(--egy-accent) !important;
}

/* Category label */
.porto-tb-item .porto-tb-meta,
.porto-tb-item .porto-tb-meta a,
.porto-tb-item .product_cat,
.porto-tb-item .category-name {
    color: var(--egy-text-muted) !important;
    font-size: .72rem !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    display: block !important;
}

/* Star rating — left-align */
.porto-tb-item .star-rating {
    margin: .25rem 0 !important;
    float: none !important;
    text-align: left !important;
}

/* Price */
.porto-tb-item .price,
.porto-tb-item .amount,
.porto-tb-item .woocommerce-Price-amount {
    color: var(--egy-accent) !important;
    font-weight: 600 !important;
    text-align: left !important;
    display: block !important;
}

/* Any Porto custom block inside the card that uses text-align:center — override */
.porto-tb-item [class*="porto-gb-"],
.porto-tb-item .porto-tb-cell,
.porto-tb-item .porto-section {
    text-align: left !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

/* Star rating — gold stars on dark */
.porto-tb-item .star-rating,
.porto-tb-item .star-rating::before,
.porto-tb-item .star-rating span::before {
    color: var(--egy-accent) !important;
}

/* ---- Disable Porto's hover overlay (dark cover + Add to Cart, quick view,
   wishlist icons) — keeps the product image fully visible on hover ----- */
.porto-tb-item .tb-hover-content,
.porto-tb-item .tb-hover-content.with-link,
.porto-tb-item .porto-tb-woo-link,
.porto-tb-item .porto-tb-addcart,
.porto-tb-item .porto-tb-quickview,
.porto-tb-item .porto-tb-wishlist,
.porto-tb-item .yith-wcwl-add-to-wishlist,
.porto-tb-item .button.add_to_cart_button,
.porto-tb-item .added_to_cart {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Keep the first/featured image always visible — kill any hover-swap */
.porto-tb-item .porto-tb-featured-image img,
.porto-tb-item .porto-tb-featured-image .wp-post-image {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    transition: transform .3s ease !important;
}
.porto-tb-item:hover .porto-tb-featured-image img,
.porto-tb-item:hover .porto-tb-featured-image .wp-post-image {
    transform: scale(1.02);
}

/* Hide any secondary/hover image Porto may insert */
.porto-tb-item .porto-tb-featured-image .hover-image,
.porto-tb-item .porto-tb-featured-image .product-thumb-second,
.porto-tb-item .porto-tb-featured-image .secondary-image,
.porto-tb-item .porto-tb-featured-image img.hover,
.porto-tb-item .porto-tb-featured-image img[class*="secondary"],
.porto-tb-item .porto-tb-image-hover {
    display: none !important;
}

/* Keep the wrapping product link clickable so the whole card remains navigable */
.porto-tb-item .porto-tb-featured-image a.img-thumbnail,
.porto-tb-item .porto-tb-featured-image a {
    pointer-events: auto !important;
}

/* Homepage / related / upsells — keep even grid (NOT masonry) */
.home .posts-wrap.products-container,
.front-page .posts-wrap.products-container,
.related .posts-wrap.products-container,
.upsells .posts-wrap.products-container,
.related.products,
.upsells.products {
    column-count: initial !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 1.25rem !important;
}
.home .posts-wrap.products-container > .porto-tb-item,
.related .posts-wrap.products-container > .porto-tb-item {
    break-inside: initial !important;
    margin: 0 !important;
}


/* =========================================================================
   Currency / Language switcher → static labels (no dropdown)
   Keeps "USD" and "ENG" visible, removes the caret and popup.
   ========================================================================= */

/* Hide the dropdown popups */
#header .currency-switcher .popup,
#header .view-switcher .popup,
#header .porto-view-switcher .popup,
#header ul.currency-switcher .popup,
#header ul.view-switcher .popup {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Hide the arrow caret (Porto uses .show-arrow with pseudo-element, or an .arrow element) */
#header .currency-switcher.show-arrow > li > a::after,
#header .view-switcher.show-arrow > li > a::after,
#header .porto-view-switcher.show-arrow > li > a::after,
#header .currency-switcher > li > a::after,
#header .view-switcher > li > a::after,
#header .currency-switcher .arrow,
#header .view-switcher .arrow,
#header .porto-view-switcher .arrow,
#header .currency-switcher > li > a::before,
#header .view-switcher > li > a::before,
#header .porto-view-switcher > li > a .fa,
#header .porto-view-switcher > li > a i {
    display: none !important;
    content: none !important;
}

/* Make the label non-clickable but still readable */
#header .currency-switcher > li,
#header .view-switcher > li,
#header .porto-view-switcher > li {
    cursor: default !important;
}
#header .currency-switcher > li > a,
#header .view-switcher > li > a,
#header .porto-view-switcher > li > a {
    cursor: default !important;
    pointer-events: none !important;
    color: var(--egy-text) !important;
    padding-right: 0 !important;
}
#header .currency-switcher > li:hover > a,
#header .view-switcher > li:hover > a,
#header .porto-view-switcher > li:hover > a {
    color: var(--egy-text) !important;   /* no hover color change */
}

/* Remove `has-sub` hover open behavior just in case */
#header .currency-switcher > li.has-sub:hover .popup,
#header .view-switcher > li.has-sub:hover .popup,
#header .porto-view-switcher > li.has-sub:hover .popup {
    display: none !important;
}


/* =========================================================================
   CONTACT US page — dark form fields + on-brand layout
   ========================================================================= */

/* Contact form wrapper */
.page-id-2225 .wpcf7,
.page-id-2225 .wpcf7-form,
.page-id-2225 .porto-contact-form {
    background: transparent !important;
}

/* CF7 form fields */
.page-id-2225 .wpcf7 input[type="text"],
.page-id-2225 .wpcf7 input[type="email"],
.page-id-2225 .wpcf7 input[type="tel"],
.page-id-2225 .wpcf7 input[type="url"],
.page-id-2225 .wpcf7 input[type="search"],
.page-id-2225 .wpcf7 input[type="number"],
.page-id-2225 .wpcf7 textarea,
.page-id-2225 .wpcf7 select,
.page-id-2225 .porto-contact-form input,
.page-id-2225 .porto-contact-form textarea,
.page-id-2225 .porto-contact-form select {
    background: var(--egy-bg-elev) !important;
    color: var(--egy-text) !important;
    border: 1px solid var(--egy-border) !important;
    border-radius: 3px !important;
}
.page-id-2225 .wpcf7 input:focus,
.page-id-2225 .wpcf7 textarea:focus,
.page-id-2225 .wpcf7 select:focus,
.page-id-2225 .porto-contact-form input:focus,
.page-id-2225 .porto-contact-form textarea:focus {
    border-color: var(--egy-accent) !important;
    box-shadow: 0 0 0 3px rgba(201, 169, 97, .15) !important;
    outline: none !important;
}
.page-id-2225 .wpcf7 input::placeholder,
.page-id-2225 .wpcf7 textarea::placeholder {
    color: #6b6b6b !important;
}

/* Submit button */
.page-id-2225 .wpcf7 input[type="submit"],
.page-id-2225 .wpcf7-submit {
    background: var(--egy-accent) !important;
    color: #111 !important;
    border: 1px solid var(--egy-accent) !important;
    padding: 1rem 2.5rem !important;
    text-transform: uppercase !important;
    letter-spacing: .15em !important;
    font-weight: 500 !important;
}
.page-id-2225 .wpcf7 input[type="submit"]:hover,
.page-id-2225 .wpcf7-submit:hover {
    background: var(--egy-accent-h) !important;
    border-color: var(--egy-accent-h) !important;
    color: #111 !important;
}

/* Labels / captions */
.page-id-2225 label,
.page-id-2225 .wpcf7 label {
    color: var(--egy-text) !important;
}

/* Kill any remaining light demo backgrounds on the page content */
.page-id-2225 [style*="#f9f2ed"],
.page-id-2225 [style*="#f4f4f4"],
.page-id-2225 [style*="#d8af91"],
.page-id-2225 [style*="#f5f5f5"],
.page-id-2225 [class*="vc_custom_"]:not([style*="background-image"]) {
    background-color: transparent !important;
}
.page-id-2225 [style*="background: #d8af91"],
.page-id-2225 [style*="background:#d8af91"],
.page-id-2225 [style*="background-color: #d8af91"],
.page-id-2225 [style*="background-color:#d8af91"] {
    background: var(--egy-bg-alt) !important;
}

/* Ultimate-heading blocks: remove light title colors */
.page-id-2225 .porto-ultimate-heading .main-heading {
    color: var(--egy-accent) !important;
}
.page-id-2225 .porto-ultimate-heading .sub-heading,
.page-id-2225 .porto-ultimate-heading p {
    color: var(--egy-text) !important;
}

/* FAQ CTA row */
.page-id-2225 .vc_btn3-container .vc_btn3,
.page-id-2225 .vc_btn3.vc_btn3-style-outline-custom {
    background: transparent !important;
    color: var(--egy-accent) !important;
    border: 1px solid var(--egy-accent) !important;
    padding: .9rem 2.2rem !important;
}
.page-id-2225 .vc_btn3.vc_btn3-style-outline-custom:hover {
    background: var(--egy-accent) !important;
    color: #111 !important;
}

/* Page title area */
.page-id-2225 .entry-title,
.page-id-2225 .page-title,
.page-id-2225 h1 {
    color: var(--egy-text) !important;
}

/* ---- Porto page-header banner (brown gradient) → dark -------------- */
.custom-bg-gradient,
.vc_row.custom-bg-gradient,
.wpb_row.custom-bg-gradient,
div.custom-bg-gradient,
.page-top,
.page-header-1,
.page-header,
.vc_row.top-row.custom-bg-gradient {
    background: var(--egy-bg) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--egy-border) !important;
    color: var(--egy-text) !important;
}

/* Any inline style linear-gradient with the Porto brown palette → dark */
[style*="linear-gradient"][style*="#A5866B"],
[style*="linear-gradient"][style*="#a5866b"],
[style*="linear-gradient"][style*="#987357"],
[style*="linear-gradient"][style*="#987"] {
    background: var(--egy-bg) !important;
    background-image: none !important;
}

/* Page title heading on the banner */
.page-top .page-title,
.page-header-1 .page-title,
.page-title-wrap .page-title,
h1.page-title {
    color: var(--egy-text) !important;
}
.page-top .page-title::after { display: none !important; }

/* =========================================================================
   ABOUT US page (ID 2223) — scoped overrides
   ========================================================================= */

/* Headings + body text — two-tone: main page heading white, section
   headings accent-gold with a short gold underline accent. */
.page-id-2223 .porto-ultimate-heading .main-heading {
    color: var(--egy-text) !important;
}
/* Section headings inside the body — target the smaller / bolder ones */
.page-id-2223 .vc_row:not(:first-of-type) .porto-ultimate-heading .main-heading,
.page-id-2223 .vc_row:not(:first-of-type) .porto-u-main-heading > *,
.page-id-2223 h2,
.page-id-2223 h3 {
    color: var(--egy-accent) !important;
    display: inline-block;
}
/* One gold underline — only on the outer heading element to avoid stacking */
.page-id-2223 .vc_row:not(:first-of-type) .porto-ultimate-heading .porto-u-main-heading {
    position: relative;
    display: inline-block;
    padding-bottom: .85rem !important;
    margin-bottom: 1.4rem !important;
}
.page-id-2223 .vc_row:not(:first-of-type) .porto-ultimate-heading .porto-u-main-heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 56px;
    height: 2px;
    background: linear-gradient(90deg, var(--egy-accent) 0%, transparent 100%);
}
/* Ensure inner tags don't also emit an underline */
.page-id-2223 .porto-u-main-heading > *::after,
.page-id-2223 .porto-ultimate-heading .main-heading::after,
.page-id-2223 h2::after,
.page-id-2223 h3::after {
    content: none !important;
    display: none !important;
}

/* Body paragraphs */
.page-id-2223 .porto-ultimate-heading .sub-heading,
.page-id-2223 .porto-ultimate-heading p,
.page-id-2223 .vc_custom_heading,
.page-id-2223 p {
    color: var(--egy-text) !important;
}

/* "Our story" column — gold border-left accent + comfortable left padding */
.page-id-2223 .vc_custom_egy_about_story_text,
.page-id-2223 [class*="egy_about_story_text"] {
    position: relative;
    border-left: 1px solid var(--egy-accent-d) !important;
    padding-left: 2.5rem !important;
    padding-top: 0 !important;
}
.page-id-2223 .vc_custom_egy_about_story_text .vc_custom_heading,
.page-id-2223 [class*="egy_about_story_text"] .vc_custom_heading {
    margin-bottom: 1.1rem !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
}
@media (max-width: 991px) {
    .page-id-2223 .vc_custom_egy_about_story_text,
    .page-id-2223 [class*="egy_about_story_text"] {
        border-left: none !important;
        padding-left: 10px !important;
        border-top: 1px solid var(--egy-accent-d) !important;
        padding-top: 2rem !important;
        margin-top: 2rem !important;
    }
}

/* Story image: subtle gold frame on hover */
.page-id-2223 .vc_single_image {
    position: relative;
}
.page-id-2223 .vc_single_image-wrapper {
    transition: transform .3s, box-shadow .3s;
}
.page-id-2223 .vc_single_image-wrapper:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(201,169,97,.15), 0 8px 20px rgba(0,0,0,.7) !important;
    border-color: var(--egy-accent-d) !important;
}

/* Single-image frames sit on dark bg */
.page-id-2223 .vc_single_image-wrapper,
.page-id-2223 .vc_single_image img {
    background: var(--egy-bg) !important;
    border: 1px solid var(--egy-border) !important;
    border-radius: 6px !important;
    overflow: hidden;
}

/* Constrain story image height so the two columns feel balanced */
.page-id-2223 .vc_row [class*="egy_about_story"] + [class*="egy_about_story_text"],
.page-id-2223 .vc_row > .vc_column_container > .wpb_wrapper .vc_single_image img,
.page-id-2223 .vc_single_image img {
    max-height: 560px;
    object-fit: cover;
    object-position: center top;
    width: 100% !important;
}

/* Vertical-center the two columns in the Our Story row */
.page-id-2223 .vc_row.wpb_row:has(.vc_custom_egy_about_story_text),
.page-id-2223 .vc_row.wpb_row[class*="egy_about_story"] {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap;
}
.page-id-2223 .vc_row.wpb_row:has(.vc_custom_egy_about_story_text) > .vc_column_container,
.page-id-2223 .vc_row.wpb_row[class*="egy_about_story"] > .vc_column_container {
    display: flex;
    align-items: center;
}

/* Info boxes — feature tiles ("Handcrafted in Egypt", etc.) */
.page-id-2223 .porto-sicon-box,
.page-id-2223 .info-box,
.page-id-2223 .porto-just-icon-wrapper {
    background: var(--egy-bg-alt) !important;
    color: var(--egy-text) !important;
    border: 1px solid var(--egy-border) !important;
    padding: 1.5rem !important;
    border-radius: 6px !important;
    transition: border-color .2s, transform .2s;
}
.page-id-2223 .porto-sicon-box:hover,
.page-id-2223 .info-box:hover {
    border-color: var(--egy-accent-d) !important;
    transform: translateY(-2px);
}
.page-id-2223 .porto-sicon-title,
.page-id-2223 .info-box-title,
.page-id-2223 .porto-sicon-header h3 {
    color: var(--egy-accent) !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    margin-bottom: .5rem !important;
}
.page-id-2223 .porto-sicon-description,
.page-id-2223 .info-box-content {
    color: var(--egy-text) !important;
    line-height: 1.65 !important;
}
.page-id-2223 .porto-icon,
.page-id-2223 .porto-just-icon-wrapper i,
.page-id-2223 .porto-sicon-default i {
    color: var(--egy-accent) !important;
}

/* Buttons / CTAs */
.page-id-2223 .vc_btn3.vc_btn3-style-outline-custom {
    background: transparent !important;
    color: var(--egy-accent) !important;
    border: 1px solid var(--egy-accent) !important;
    padding: .9rem 2.2rem !important;
}
.page-id-2223 .vc_btn3.vc_btn3-style-outline-custom:hover {
    background: var(--egy-accent) !important;
    color: #111 !important;
}

/* Remove any old demo beige/cream backgrounds on this page */
.page-id-2223 [class*="vc_custom_"]:not([style*="background-image"]) {
    background-color: transparent !important;
}
.page-id-2223 [style*="#f9f2ed"],
.page-id-2223 [style*="#f4f4f4"],
.page-id-2223 [style*="#d8af91"],
.page-id-2223 [style*="#A5866B"],
.page-id-2223 [style*="#987357"] {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Quote row styling */
.page-id-2223 .vc_custom_egy_about_quote,
.page-id-2223 .vc_row.wpb_row[class*="egy_about_quote"] {
    background: var(--egy-bg-alt) !important;
}

/* ---- About Us HERO banner (porto_builder block 2369) -------------- */
.page-id-2223 .vc_custom_egy_about_header,
.vc_custom_egy_about_header {
    padding-top: 12vw !important;
    padding-bottom: 13vw !important;
    background: #0f0f0f url(/wp-content/uploads/2026/04/image_02-69e76bae252b3-scaled.jpg) !important;
    background-position: center right !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    position: relative !important;
}
.page-id-2223 .vc_custom_egy_about_header::before,
.vc_custom_egy_about_header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(15,15,15,.92) 0%, rgba(15,15,15,.55) 50%, rgba(15,15,15,.2) 100%);
    pointer-events: none;
    z-index: 1;
}
.page-id-2223 .vc_custom_egy_about_header .porto-wrap-container,
.vc_custom_egy_about_header .porto-wrap-container {
    position: relative;
    z-index: 2;
}
.page-id-2223 .vc_custom_egy_about_header_col,
.vc_custom_egy_about_header_col {
    padding-right: 45vw !important;
}
@media (max-width: 767px) {
    .page-id-2223 .vc_custom_egy_about_header_col,
    .vc_custom_egy_about_header_col { padding-right: 10px !important; }
    .page-id-2223 .vc_custom_egy_about_header,
    .vc_custom_egy_about_header {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }
}


/* =========================================================================
   HOMEPAGE — page ID 2 ("Home")
   Hero section, spotlights (text + products), feature bar, CTA.
   ========================================================================= */

/* ---- HERO — full-size banner --------------------------------------- */
.home .vc_custom_egy_home_hero,
.page-id-2 .vc_custom_egy_home_hero {
    min-height: 85vh !important;
    display: flex !important;
    align-items: center !important;
    padding: 4rem 0 !important;
    position: relative !important;
    overflow: hidden !important;
    background: #0f0f0f url(/wp-content/uploads/2026/04/image_02-69e76bae252b3-scaled.jpg) center center / cover no-repeat !important;
    margin-top: 0 !important;
}
.home .vc_custom_egy_home_hero::before,
.page-id-2 .vc_custom_egy_home_hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(10,10,10,.95) 0%, rgba(10,10,10,.75) 40%, rgba(10,10,10,.3) 75%, rgba(10,10,10,.1) 100%);
    pointer-events: none;
    z-index: 1;
}
.home .vc_custom_egy_home_hero > *,
.page-id-2 .vc_custom_egy_home_hero > * { position: relative; z-index: 2; }

.home .vc_custom_egy_home_hero_col,
.page-id-2 .vc_custom_egy_home_hero_col {
    padding-right: 45% !important;
    padding-left: 5% !important;
    position: relative;
    z-index: 2;
}
@media (max-width: 991px) {
    .home .vc_custom_egy_home_hero,
    .page-id-2 .vc_custom_egy_home_hero {
        min-height: 65vh !important;
        background-position: center center !important;
    }
    .home .vc_custom_egy_home_hero_col,
    .page-id-2 .vc_custom_egy_home_hero_col {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }
    .home .vc_custom_egy_home_hero::before,
    .page-id-2 .vc_custom_egy_home_hero::before {
        background: linear-gradient(180deg, rgba(10,10,10,.85) 0%, rgba(10,10,10,.65) 100%) !important;
    }
}
@media (max-width: 575px) {
    .home .vc_custom_egy_home_hero,
    .page-id-2 .vc_custom_egy_home_hero {
        min-height: 55vh !important;
    }
}

/* ---- TUTANKHAMUN spotlight strip ---------------------------------- */
.home .vc_custom_egy_home_tut,
.page-id-2 .vc_custom_egy_home_tut {
    padding: 6rem 2rem !important;
    background: #0a0a0a url(/wp-content/uploads/2026/04/image_03-69e777720d822-scaled.jpg) center center / cover no-repeat !important;
    position: relative !important;
}
.home .vc_custom_egy_home_tut::before,
.page-id-2 .vc_custom_egy_home_tut::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10,10,10,.92) 0%, rgba(10,10,10,.75) 100%);
    pointer-events: none;
    z-index: 1;
}
.home .vc_custom_egy_home_tut > *,
.page-id-2 .vc_custom_egy_home_tut > * { position: relative; z-index: 2; }

/* ---- Category spotlight sections --------------------------------- */
.home [class*="vc_custom_egy_home_sec"],
.page-id-2 [class*="vc_custom_egy_home_sec"] {
    margin-bottom: 5rem !important;
    padding: 3rem 0 !important;
    border-bottom: 1px solid var(--egy-border) !important;
}
.home [class*="egy_home_sec1_text"],
.home [class*="egy_home_sec2_text"],
.home [class*="egy_home_sec3_text"],
.home [class*="egy_home_sec4_text"],
.page-id-2 [class*="egy_home_sec1_text"],
.page-id-2 [class*="egy_home_sec2_text"],
.page-id-2 [class*="egy_home_sec3_text"],
.page-id-2 [class*="egy_home_sec4_text"] {
    align-self: center !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.home [class*="egy_home_sec1_text"],
.home [class*="egy_home_sec3_text"],
.page-id-2 [class*="egy_home_sec1_text"],
.page-id-2 [class*="egy_home_sec3_text"] {
    padding-right: 2.5rem !important;
}
.home [class*="egy_home_sec2_text"],
.home [class*="egy_home_sec4_text"],
.page-id-2 [class*="egy_home_sec2_text"],
.page-id-2 [class*="egy_home_sec4_text"] {
    padding-left: 2.5rem !important;
}
@media (max-width: 991px) {
    .home [class*="egy_home_sec1_text"],
    .home [class*="egy_home_sec2_text"],
    .home [class*="egy_home_sec3_text"],
    .home [class*="egy_home_sec4_text"],
    .page-id-2 [class*="egy_home_sec1_text"],
    .page-id-2 [class*="egy_home_sec2_text"],
    .page-id-2 [class*="egy_home_sec3_text"],
    .page-id-2 [class*="egy_home_sec4_text"] {
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }
}

/* =========================================================================
   Homepage product grid — shortcode outputs ul.products > li.product-col
   (NOT .posts-wrap.products-container > .porto-tb-item)
   ========================================================================= */
.home .egy-home-products-col,
.page-id-2 .egy-home-products-col {
    display: block !important;
}
.home .egy-home-products-col .woocommerce,
.page-id-2 .egy-home-products-col .woocommerce {
    background: transparent !important;
}

/* Force a clean 3-col grid inside this column, killing Porto's has-ccols */
.home .egy-home-products-col ul.products,
.home .egy-home-products-col ul.products-container,
.page-id-2 .egy-home-products-col ul.products,
.page-id-2 .egy-home-products-col ul.products-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    column-count: initial !important;
    gap: 1rem !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    background: transparent !important;
}
@media (max-width: 767px) {
    .home .egy-home-products-col ul.products,
    .home .egy-home-products-col ul.products-container,
    .page-id-2 .egy-home-products-col ul.products,
    .page-id-2 .egy-home-products-col ul.products-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Each LI card — reset Porto width/float + apply dark card style */
.home .egy-home-products-col ul.products > li,
.home .egy-home-products-col ul.products > li.product,
.home .egy-home-products-col ul.products > li.product-col,
.page-id-2 .egy-home-products-col ul.products > li,
.page-id-2 .egy-home-products-col ul.products > li.product,
.page-id-2 .egy-home-products-col ul.products > li.product-col {
    width: auto !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    transition: transform .2s, border-color .2s, box-shadow .2s;
    break-inside: initial !important;
}
.home .egy-home-products-col ul.products > li:hover,
.page-id-2 .egy-home-products-col ul.products > li:hover {
    transform: translateY(-2px);
    border-color: var(--egy-accent-d) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.6);
}

/* Product image area — fixed 1:1 aspect so all cards align */
.home .egy-home-products-col ul.products > li .product-image,
.home .egy-home-products-col ul.products > li .product-image a,
.home .egy-home-products-col ul.products > li .product-image .inner,
.page-id-2 .egy-home-products-col ul.products > li .product-image,
.page-id-2 .egy-home-products-col ul.products > li .product-image a,
.page-id-2 .egy-home-products-col ul.products > li .product-image .inner {
    display: block !important;
    background: var(--egy-bg) !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    position: relative;
}
.home .egy-home-products-col ul.products > li .product-image img,
.home .egy-home-products-col ul.products > li .wp-post-image,
.page-id-2 .egy-home-products-col ul.products > li .product-image img,
.page-id-2 .egy-home-products-col ul.products > li .wp-post-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--egy-bg) !important;
    border: none !important;
    border-radius: 0 !important;
    aspect-ratio: auto !important;
}

/* Product text content */
.home .egy-home-products-col ul.products > li .product-content,
.page-id-2 .egy-home-products-col ul.products > li .product-content {
    padding: .85rem 1rem 1rem !important;
    background: var(--egy-bg-alt) !important;
    text-align: left !important;
}
.home .egy-home-products-col ul.products > li .category-list,
.home .egy-home-products-col ul.products > li .category-list a,
.page-id-2 .egy-home-products-col ul.products > li .category-list,
.page-id-2 .egy-home-products-col ul.products > li .category-list a {
    color: var(--egy-text-muted) !important;
    font-size: .7rem !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-bottom: .35rem !important;
}
.home .egy-home-products-col ul.products > li .woocommerce-loop-product__title,
.page-id-2 .egy-home-products-col ul.products > li .woocommerce-loop-product__title {
    color: var(--egy-text) !important;
    font-size: .95rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: 2.7em !important;
    min-height: 2.7em !important;
    margin: 0 0 .35rem !important;
}
.home .egy-home-products-col ul.products > li .price,
.home .egy-home-products-col ul.products > li .amount,
.page-id-2 .egy-home-products-col ul.products > li .price,
.page-id-2 .egy-home-products-col ul.products > li .amount {
    color: var(--egy-accent) !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    display: block !important;
}
.home .egy-home-products-col ul.products > li .star-rating,
.page-id-2 .egy-home-products-col ul.products > li .star-rating {
    margin: .25rem 0 !important;
    float: none !important;
}
.home .egy-home-products-col ul.products > li .star-rating span::before,
.home .egy-home-products-col ul.products > li .star-rating::before,
.page-id-2 .egy-home-products-col ul.products > li .star-rating span::before,
.page-id-2 .egy-home-products-col ul.products > li .star-rating::before {
    color: var(--egy-accent) !important;
}

/* Hide in-card Add-to-cart button + extras (keep cards clean on homepage) */
.home .egy-home-products-col ul.products > li .add-links-wrap,
.home .egy-home-products-col ul.products > li .add_to_cart_button,
.home .egy-home-products-col ul.products > li .added_to_cart,
.home .egy-home-products-col ul.products > li .product-hover,
.page-id-2 .egy-home-products-col ul.products > li .add-links-wrap,
.page-id-2 .egy-home-products-col ul.products > li .add_to_cart_button,
.page-id-2 .egy-home-products-col ul.products > li .product-hover {
    display: none !important;
}

/* ---- Why Egyptique icon row --------------------------------------- */
.home .vc_custom_egy_home_why .porto-sicon-box,
.page-id-2 .vc_custom_egy_home_why .porto-sicon-box {
    text-align: center !important;
    background: var(--egy-bg-alt) !important;
    border: 1px solid var(--egy-border) !important;
    padding: 2rem 1.25rem !important;
    border-radius: 6px !important;
    height: 100%;
    transition: border-color .2s, transform .2s;
}
.home .vc_custom_egy_home_why .porto-sicon-box:hover,
.page-id-2 .vc_custom_egy_home_why .porto-sicon-box:hover {
    border-color: var(--egy-accent-d) !important;
    transform: translateY(-3px);
}
.home .vc_custom_egy_home_why .porto-sicon-title,
.page-id-2 .vc_custom_egy_home_why .porto-sicon-title {
    color: var(--egy-accent) !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    margin-top: 1rem !important;
}
.home .vc_custom_egy_home_why .porto-icon,
.page-id-2 .vc_custom_egy_home_why .porto-icon {
    color: var(--egy-accent) !important;
    font-size: 2.2rem !important;
}

/* ---- Closing CTA card --------------------------------------------- */
.home .vc_custom_egy_home_cta,
.page-id-2 .vc_custom_egy_home_cta {
    background: linear-gradient(135deg, rgba(201,169,97,.08) 0%, rgba(201,169,97,.02) 100%) !important;
}

/* ---- Buttons ------------------------------------------------------ */
.home .vc_btn3.vc_btn3-style-custom,
.page-id-2 .vc_btn3.vc_btn3-style-custom {
    border: none !important;
    transition: background .2s, transform .15s, color .2s !important;
}
.home .vc_btn3.vc_btn3-style-custom:hover,
.page-id-2 .vc_btn3.vc_btn3-style-custom:hover {
    background: #e8c36e !important;
    transform: translateY(-1px);
}
.home .btn-outline-gold .vc_btn3,
.page-id-2 .btn-outline-gold .vc_btn3,
.home .vc_btn3.vc_btn3-style-outline-custom,
.page-id-2 .vc_btn3.vc_btn3-style-outline-custom {
    background: transparent !important;
    border: 1px solid var(--egy-accent) !important;
    color: var(--egy-accent) !important;
}
.home .btn-outline-gold .vc_btn3:hover,
.page-id-2 .btn-outline-gold .vc_btn3:hover,
.home .vc_btn3.vc_btn3-style-outline-custom:hover,
.page-id-2 .vc_btn3.vc_btn3-style-outline-custom:hover {
    background: var(--egy-accent) !important;
    color: #111 !important;
}

/* Remove any default light backgrounds on homepage rows */
.home [class*="vc_custom_"]:not([style*="background-image"]):not(.vc_custom_egy_home_hero):not(.vc_custom_egy_home_tut):not(.vc_custom_egy_home_cta),
.page-id-2 [class*="vc_custom_"]:not([style*="background-image"]):not(.vc_custom_egy_home_hero):not(.vc_custom_egy_home_tut):not(.vc_custom_egy_home_cta) {
    background-color: transparent !important;
}

/* ===========================================================================

/* ===========================================================================

/* ===========================================================================

/* ===========================================================================
   Egyptique · Exhibitions Showcase
   - Landing  (.exhibitions-page--landing): hero + Splide carousel of 4 cards
   - Detail   (.exhibitions-page--detail):  single-country page with gallery
   =========================================================================== */

#exhibitions-page {
    --ex-bg:        #0b0b0c;
    --ex-bg-2:      #131315;
    --ex-bg-3:      #1c1c1f;
    --ex-ink:       #ece6d5;
    --ex-ink-2:     #b8b1a0;
    --ex-mute:      #807a6c;
    --ex-gold:      #d4af37;
    --ex-gold-2:    #f1c75a;
    --ex-gold-deep: #8a6d1a;
    --ex-line:      rgba(212, 175, 55, .35);
    --ex-line-soft: rgba(255, 255, 255, .08);
    --ex-shadow:    0 30px 60px -20px rgba(0,0,0,.65), 0 8px 24px -8px rgba(0,0,0,.45);
    --ex-serif:     "Cinzel", "Cormorant Garamond", "Playfair Display", Georgia, serif;
    --ex-display:   "Cormorant Garamond", "Playfair Display", Georgia, serif;
    --ex-sans:      "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;

    background: var(--ex-bg);
    color: var(--ex-ink);
    font-family: var(--ex-sans);
    line-height: 1.6;
    overflow-x: hidden;
}

#exhibitions-page * { box-sizing: border-box; }
#exhibitions-page img { max-width: 100%; display: block; }
#exhibitions-page a { color: inherit; text-decoration: none; }

/* ----------------------------------------------------------------- HERO -- */
.ex-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 24px;
    overflow: hidden;
    isolation: isolate;
}
.ex-hero__bg { position: absolute; inset: 0; z-index: -2; }
.ex-hero__layer {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    animation: exHeroCycle 24s infinite;
    transform: scale(1.08);
    filter: brightness(.55) saturate(1.05);
}
@keyframes exHeroCycle {
    0%, 18%   { opacity: 0; transform: scale(1.08); }
    4%, 14%   { opacity: 1; transform: scale(1.00); }
    20%, 100% { opacity: 0; transform: scale(1.08); }
}
.ex-hero__veil {
    position: absolute; inset: 0; z-index: -1;
    background:
        radial-gradient(ellipse at 50% 30%, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 60%, rgba(11,11,12,.95) 100%),
        linear-gradient(180deg, rgba(11,11,12,.5) 0%, rgba(11,11,12,.85) 100%);
}
.ex-hero__content { text-align: center; max-width: 980px; width: 100%; padding: 32px 0; }

.ex-eyebrow {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .42em;
    text-transform: uppercase;
    color: var(--ex-gold);
    padding: 10px 22px;
    border: 1px solid var(--ex-line);
    border-radius: 100px;
    margin-bottom: 28px;
    background: rgba(212,175,55,.04);
}

.ex-hero__title {
    font-family: var(--ex-serif);
    font-weight: 600;
    font-size: clamp(2.4rem, 6vw, 5.4rem);
    line-height: 1.05;
    letter-spacing: .02em;
    margin: 0 0 24px;
    color: var(--ex-ink);
    text-shadow: 0 2px 24px rgba(0,0,0,.5);
}
.ex-hero__title em {
    font-family: var(--ex-display);
    font-style: italic;
    font-weight: 400;
    letter-spacing: 0;
    background: linear-gradient(180deg, var(--ex-gold-2) 0%, var(--ex-gold) 50%, var(--ex-gold-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.ex-hero__lede {
    max-width: 620px;
    margin: 0 auto 40px;
    color: var(--ex-ink-2);
    font-family: var(--ex-display);
    font-size: clamp(1.05rem, 1.6vw, 1.32rem);
    line-height: 1.6;
    font-weight: 300;
    font-style: italic;
}

.ex-stats {
    display: flex;
    justify-content: center;
    gap: clamp(20px, 5vw, 56px);
    margin: 40px 0 48px;
    flex-wrap: wrap;
}
.ex-stat { display: flex; flex-direction: column; align-items: center; }
.ex-stat__num {
    font-family: var(--ex-serif);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    color: var(--ex-gold);
    line-height: 1;
    margin-bottom: 8px;
}
.ex-stat__lbl {
    font-size: 10px;
    letter-spacing: .35em;
    text-transform: uppercase;
    color: var(--ex-mute);
}

.ex-hero__scroll {
    position: absolute;
    bottom: 24px; left: 50%;
    transform: translateX(-50%);
    width: 22px; height: 38px;
    border: 1px solid var(--ex-line);
    border-radius: 12px;
}
.ex-hero__scroll span {
    display: block;
    width: 3px; height: 8px;
    background: var(--ex-gold);
    border-radius: 2px;
    margin: 6px auto;
    animation: exScroll 1.8s infinite;
}
@keyframes exScroll {
    0%   { transform: translateY(0);   opacity: 1; }
    100% { transform: translateY(14px); opacity: 0; }
}

/* ------------------------------------------------------- SECTION HEAD -- */
.ex-section-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 64px;
    padding: 0 24px;
}
.ex-section-head__rule {
    display: block;
    width: 60px; height: 1px;
    margin: 0 auto 24px;
    background: linear-gradient(90deg, transparent 0%, var(--ex-gold) 50%, transparent 100%);
}
.ex-section-head__eyebrow {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .42em;
    text-transform: uppercase;
    color: var(--ex-gold);
    margin-bottom: 16px;
}
.ex-section-head__title {
    font-family: var(--ex-serif);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 0 0 16px;
    color: var(--ex-ink);
}
.ex-section-head__lede {
    font-family: var(--ex-display);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(1.05rem, 1.5vw, 1.2rem);
    color: var(--ex-ink-2);
    margin: 0;
}

/* ------------------------------------------------------------ CAROUSEL -- */
.ex-carousel-section {
    background: var(--ex-bg);
    padding: 100px 0 80px;
    border-top: 1px solid var(--ex-line-soft);
}

.ex-splide { padding: 20px 0 60px; }
.ex-splide .splide__slide { display: flex; }
.ex-splide .splide__arrow {
    width: 50px; height: 50px;
    background: rgba(11,11,12,.7);
    border: 1px solid var(--ex-line);
    color: var(--ex-gold);
    opacity: 1;
    transition: all .3s ease;
}
.ex-splide .splide__arrow:hover {
    background: var(--ex-gold);
    color: #0b0b0c;
    border-color: var(--ex-gold);
}
.ex-splide .splide__arrow svg { fill: currentColor; }
.ex-splide .splide__arrow--prev { left: 1.5em; }
.ex-splide .splide__arrow--next { right: 1.5em; }
.ex-splide .splide__pagination { bottom: 14px; }
.ex-splide .splide__pagination__page {
    background: rgba(255,255,255,.25);
    margin: 0 5px;
    width: 8px; height: 8px;
    transition: all .3s ease;
}
.ex-splide .splide__pagination__page.is-active {
    background: var(--ex-gold);
    transform: scale(1.4);
}

/* Card */
.ex-card { width: 100%; }
.ex-card__link {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: var(--ex-bg-2);
    border: 1px solid var(--ex-line-soft);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: var(--ex-shadow);
    transition: transform .6s cubic-bezier(.2,.7,.2,1), border-color .4s ease, box-shadow .6s ease;
    height: 100%;
}
.ex-card__link:hover {
    transform: translateY(-8px);
    border-color: var(--ex-line);
    box-shadow: 0 40px 80px -20px rgba(0,0,0,.8), 0 0 0 1px var(--ex-gold) inset;
}

.ex-card__media {
    position: relative;
    aspect-ratio: 16 / 10;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    isolation: isolate;
}
.ex-card__media::before {
    content: "";
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.55) 100%);
}
.ex-card__media::after {
    content: "";
    position: absolute; inset: 0; z-index: -1;
    background: radial-gradient(ellipse at center, rgba(212,175,55,.18) 0%, transparent 70%);
    opacity: 0;
    transition: opacity .5s ease;
}
.ex-card__link:hover .ex-card__media::after { opacity: 1; }

.ex-card__num {
    position: absolute;
    top: 20px; left: 20px;
    font-family: var(--ex-serif);
    font-size: 14px;
    color: var(--ex-gold);
    letter-spacing: .3em;
    background: rgba(11,11,12,.6);
    padding: 6px 14px;
    border-radius: 100px;
    backdrop-filter: blur(6px);
}
.ex-card__country {
    position: absolute;
    bottom: 20px; left: 20px;
    font-size: 12px;
    letter-spacing: .35em;
    text-transform: uppercase;
    color: var(--ex-gold-2);
    text-shadow: 0 2px 8px rgba(0,0,0,.6);
}

.ex-card__body {
    padding: 28px 32px 32px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.ex-card__title {
    font-family: var(--ex-serif);
    font-size: clamp(1.4rem, 2.4vw, 1.9rem);
    font-weight: 600;
    color: var(--ex-ink);
    margin: 0 0 10px;
    line-height: 1.2;
}
.ex-card__subtitle {
    font-family: var(--ex-display);
    font-style: italic;
    font-weight: 300;
    color: var(--ex-ink-2);
    font-size: 1.05rem;
    margin: 0 0 22px;
    line-height: 1.5;
    flex: 1;
}
.ex-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 18px;
    border-top: 1px solid var(--ex-line-soft);
    font-size: 11px;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--ex-mute);
}
.ex-card__cta {
    color: var(--ex-gold);
    transition: color .3s ease, transform .3s ease;
}
.ex-card__link:hover .ex-card__cta {
    color: var(--ex-gold-2);
    transform: translateX(4px);
}

/* ------------------------------------------------------------- MOSAIC -- */
.ex-mosaic {
    max-width: 1280px;
    margin: 60px auto 0;
    padding: 0 24px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}
.ex-mosaic__tile {
    position: relative;
    aspect-ratio: 3 / 4;
    background-size: cover;
    background-position: center;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    color: #fff;
    transition: transform .5s cubic-bezier(.2,.7,.2,1);
    isolation: isolate;
    box-shadow: var(--ex-shadow);
}
.ex-mosaic__tile::before {
    content: "";
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.85) 100%);
}
.ex-mosaic__tile:hover { transform: translateY(-6px); }
.ex-mosaic__num {
    font-family: var(--ex-serif);
    font-size: 13px;
    color: var(--ex-gold);
    letter-spacing: .3em;
}
.ex-mosaic__meta { display: flex; flex-direction: column; gap: 4px; }
.ex-mosaic__country {
    font-size: 11px;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--ex-gold-2);
}
.ex-mosaic__title {
    font-family: var(--ex-serif);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
}
.ex-mosaic__count {
    font-size: 10px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255,255,255,.65);
    margin-top: 4px;
}

/* ====================================================== DETAIL PAGE ===== */
.ex-breadcrumb {
    background: var(--ex-bg);
    padding: 24px;
    text-align: center;
    border-bottom: 1px solid var(--ex-line-soft);
    font-size: 11px;
    letter-spacing: .25em;
    text-transform: uppercase;
}
.ex-breadcrumb a {
    color: var(--ex-ink-2);
    transition: color .3s ease;
}
.ex-breadcrumb a:hover { color: var(--ex-gold); }
.ex-breadcrumb__sep { margin: 0 14px; color: var(--ex-mute); }
.ex-breadcrumb__current { color: var(--ex-gold); }

.ex-detail-cover {
    position: relative;
    height: 80vh;
    min-height: 520px;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    isolation: isolate;
}
.ex-detail-cover__veil {
    position: absolute; inset: 0; z-index: -1;
    background:
        radial-gradient(ellipse at center, rgba(0,0,0,.25) 0%, rgba(0,0,0,.7) 60%, rgba(11,11,12,.95) 100%);
}
.ex-detail-cover__text {
    text-align: center;
    color: #fff;
    padding: 24px;
    max-width: 920px;
}

.ex-chapter__num {
    display: inline-block;
    font-size: 12px;
    letter-spacing: .42em;
    text-transform: uppercase;
    color: var(--ex-gold);
    padding: 8px 20px;
    border: 1px solid var(--ex-line);
    border-radius: 100px;
    margin-bottom: 28px;
}
.ex-chapter__title {
    font-family: var(--ex-serif);
    font-size: clamp(2.4rem, 6.5vw, 5.2rem);
    font-weight: 600;
    margin: 0 0 18px;
    line-height: 1.05;
    text-shadow: 0 4px 30px rgba(0,0,0,.6);
}
.ex-chapter__subtitle {
    font-family: var(--ex-display);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    color: var(--ex-ink-2);
    margin: 0;
}

.ex-detail-intro {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
    padding: 96px 24px 0;
}
.ex-chapter__rule {
    display: block;
    width: 60px; height: 1px;
    margin: 0 auto 36px;
    background: linear-gradient(90deg, transparent 0%, var(--ex-gold) 50%, transparent 100%);
}
.ex-chapter__lede {
    font-family: var(--ex-display);
    font-size: clamp(1.1rem, 1.6vw, 1.32rem);
    font-weight: 300;
    line-height: 1.75;
    color: var(--ex-ink-2);
    margin: 0;
}

.ex-chapter__links {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--ex-line-soft);
}
.ex-chapter__links-label {
    display: block;
    font-size: 10px;
    letter-spacing: .42em;
    text-transform: uppercase;
    color: var(--ex-gold);
    margin-bottom: 18px;
}
.ex-chapter__links ul {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}
.ex-chapter__links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid var(--ex-line-soft);
    border-radius: 4px;
    font-size: 12px;
    letter-spacing: .12em;
    color: var(--ex-ink-2);
    transition: all .35s ease;
}
.ex-chapter__links a:hover {
    color: var(--ex-gold);
    border-color: var(--ex-gold);
    background: rgba(212,175,55,.06);
    transform: translateY(-2px);
}

.ex-detail-gallery-section {
    max-width: 1280px;
    margin: 0 auto;
    padding: 96px 24px 0;
}

/* -------------------------------------------------------------- GALLERY -- */
.ex-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 220px;
    gap: 12px;
}
.ex-gallery__item {
    position: relative;
    overflow: hidden;
    border-radius: 3px;
    background: var(--ex-bg-3);
    cursor: zoom-in;
    box-shadow: 0 6px 18px -8px rgba(0,0,0,.6);
    /* opacity always 1 — no reveal animation; ensures thumbnails are always visible */
    opacity: 1;
}
.ex-gallery__item img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 1.2s cubic-bezier(.2,.7,.2,1), filter .6s ease;
    filter: saturate(.95) contrast(1.02);
}
.ex-gallery__item--wide { grid-column: span 2; }
.ex-gallery__item--tall { grid-row: span 2; }

.ex-gallery__item:hover img {
    transform: scale(1.06);
    filter: saturate(1.1) contrast(1.05);
}
.ex-gallery__item::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.55) 100%);
    opacity: 0;
    transition: opacity .4s ease;
    pointer-events: none;
}
.ex-gallery__item:hover::after { opacity: 1; }

.ex-gallery__zoom {
    position: absolute;
    top: 12px; right: 12px;
    width: 34px; height: 34px;
    display: grid; place-items: center;
    background: rgba(212,175,55,.95);
    color: #0b0b0c;
    border-radius: 50%;
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    opacity: 0;
    transform: scale(.6);
    transition: opacity .35s ease, transform .35s ease;
}
.ex-gallery__item:hover .ex-gallery__zoom {
    opacity: 1;
    transform: scale(1);
}

/* ------------------------------------------------------ DETAIL PREV/NEXT -- */
.ex-detail-nav {
    margin: 120px 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}
.ex-detail-nav__link {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    min-height: 280px;
    padding: 48px 64px;
    background-size: cover;
    background-position: center;
    color: #fff;
    overflow: hidden;
    isolation: isolate;
    transition: transform .6s ease;
}
.ex-detail-nav__link--prev { text-align: left; align-items: flex-start; }
.ex-detail-nav__link--next { text-align: right; align-items: flex-end; }
.ex-detail-nav__link:hover { transform: scale(1.02); }
.ex-detail-nav__veil {
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.85) 100%);
    transition: background .4s ease;
}
.ex-detail-nav__link:hover .ex-detail-nav__veil {
    background: linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(11,11,12,.7) 100%);
}
.ex-detail-nav__dir {
    font-size: 11px;
    letter-spacing: .35em;
    text-transform: uppercase;
    color: var(--ex-gold);
    margin-bottom: 8px;
}
.ex-detail-nav__country {
    font-size: 12px;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--ex-ink-2);
}
.ex-detail-nav__title {
    font-family: var(--ex-serif);
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 600;
    line-height: 1.2;
}

/* ---------------------------------------------------------------- OUTRO -- */
.ex-outro {
    text-align: center;
    padding: 120px 24px;
    background:
        radial-gradient(ellipse at center, rgba(212,175,55,.08) 0%, transparent 60%),
        var(--ex-bg);
    border-top: 1px solid var(--ex-line-soft);
}
.ex-outro__rule {
    display: block;
    width: 1px; height: 60px;
    margin: 0 auto 40px;
    background: linear-gradient(180deg, transparent 0%, var(--ex-gold) 50%, transparent 100%);
}
.ex-outro h2 {
    font-family: var(--ex-serif);
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    font-weight: 600;
    color: var(--ex-ink);
    margin: 0 0 20px;
}
.ex-outro p {
    font-family: var(--ex-display);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    color: var(--ex-ink-2);
    max-width: 540px;
    margin: 0 auto 40px;
}
.ex-outro__cta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 18px 40px;
    background: linear-gradient(135deg, var(--ex-gold-2) 0%, var(--ex-gold) 50%, var(--ex-gold-deep) 100%);
    color: #0b0b0c;
    font-size: 12px;
    letter-spacing: .35em;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 2px;
    transition: all .4s ease;
    box-shadow: 0 12px 30px -10px rgba(212,175,55,.5);
}
.ex-outro__cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px -10px rgba(212,175,55,.7);
    color: #0b0b0c;
}

/* ------------------------------------------------------------- RESPONSIVE -- */
@media (max-width: 992px) {
    .ex-gallery { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 180px; }
    .ex-detail-cover { background-attachment: scroll; height: 60vh; min-height: 420px; }
    .ex-detail-nav { grid-template-columns: 1fr; }
    .ex-detail-nav__link { padding: 36px 32px; min-height: 200px; }
    .ex-detail-nav__link--next { text-align: left; align-items: flex-start; }
}
@media (max-width: 720px) {
    .ex-gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; gap: 8px; }
    .ex-gallery__item--wide { grid-column: span 1; }
    .ex-gallery__item--tall { grid-row: span 1; }
    .ex-hero { padding: 60px 18px; }
    .ex-detail-intro { padding: 60px 18px 0; }
    .ex-detail-gallery-section { padding: 60px 12px 0; }
    .ex-card__body { padding: 22px 22px 26px; }
    .ex-section-head { margin-bottom: 40px; }
}

/* Hide Porto's default page title bar / breadcrumb on these templates. */
body.page-template-page-exhibitions .page-top,
body.page-template-page-exhibitions .page-header,
body.page-template-page-exhibitions .breadcrumb,
body.page-template-page-exhibition-detail .page-top,
body.page-template-page-exhibition-detail .page-header,
body.page-template-page-exhibition-detail .breadcrumb { display: none !important; }

/* ============================================================
   EMBEDDED VARIANT — used on homepage via the_content filter.
   Forces the section to span the viewport width regardless of
   any constrained parent wrappers (post-content, .container, etc).
   ============================================================ */
#exhibitions-page.exhibitions-page--embedded {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 80px;
    padding: 0;
    /* Reset any inherited body-content typography that could leak through. */
    text-align: initial;
}
#exhibitions-page.exhibitions-page--embedded .ex-carousel-section {
    border-top: 1px solid var(--ex-line-soft);
    border-bottom: 1px solid var(--ex-line-soft);
    padding: 100px 0 100px;
}
.ex-embedded-cta {
    text-align: center;
    margin-top: 24px;
    padding: 0 24px;
}
.ex-embedded-cta__link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 36px;
    border: 1px solid var(--ex-gold);
    color: var(--ex-gold);
    font-size: 11px;
    letter-spacing: .35em;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 2px;
    transition: all .4s ease;
    background: transparent;
}
.ex-embedded-cta__link:hover {
    background: linear-gradient(135deg, var(--ex-gold-2) 0%, var(--ex-gold) 50%, var(--ex-gold-deep) 100%);
    color: #0b0b0c;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -10px rgba(212,175,55,.5);
}

/* Edge-to-edge wrapper — SCOPED to #main only so header/footer keep their
   normal Porto width (homepage parity). Do NOT use bare `.container` / `.row`
   selectors here, since header/footer also rely on those classes. */
body.page-template-page-exhibitions #main,
body.page-template-page-exhibition-detail #main {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.page-template-page-exhibitions #main > .container,
body.page-template-page-exhibitions #main > .container > .row,
body.page-template-page-exhibitions #main > .container > .row > .main-content,
body.page-template-page-exhibition-detail #main > .container,
body.page-template-page-exhibition-detail #main > .container > .row,
body.page-template-page-exhibition-detail #main > .container > .row > .main-content {
    max-width: none !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.page-template-page-exhibitions #main .post-content,
body.page-template-page-exhibitions #main article.post,
body.page-template-page-exhibitions #main .entry-content,
body.page-template-page-exhibition-detail #main .post-content,
body.page-template-page-exhibition-detail #main article.post,
body.page-template-page-exhibition-detail #main .entry-content {
    margin: 0 !important;
    padding: 0 !important;
}
