/**
 * Cyril Joseph Fine Art Photography
 * CSS Override for Goya (Everthemes) Child Theme
 *
 * DESIGN: Minimalist White Art Gallery / Museum Grade
 * Matches the approved prototype (cyriljoseph-prototype.html)
 *
 * Color Strategy:
 *   - Body & most sections: WHITE (#FFFFFF) with ink text (#0C0C0A)
 *   - Hero banner: inherits dark photo backgrounds
 *   - Tours section: DARK (#0C0C0A)
 *   - Footer: DARK (#0C0C0A)
 *   - Accents: Gold (#B8974A)
 *   - Typography: Cormorant Garamond (display) + Jost (body)
 */

/* ============================================================================
   1. DESIGN TOKENS
   ============================================================================ */

:root {
  /* Core Palette — White Gallery */
  --cj-white: #FFFFFF;
  --cj-off-white: #F7F5F2;
  --cj-pearl: #EDE9E3;
  --cj-ink: #0C0C0A;
  --cj-ink-soft: #2A2A28;
  --cj-ink-muted: #6B6B68;
  --cj-gold: #B8974A;
  --cj-gold-light: #D4B574;
  --cj-gold-pale: #EFE4C8;
  --cj-border: rgba(12, 12, 10, 0.10);
  --cj-border-soft: rgba(12, 12, 10, 0.06);

  /* Typography */
  --cj-font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --cj-font-ui: 'Jost', 'Helvetica Neue', system-ui, sans-serif;

  /* Spacing */
  --cj-spacing-xs: 0.5rem;
  --cj-spacing-sm: 1rem;
  --cj-spacing-md: 1.5rem;
  --cj-spacing-lg: 2rem;
  --cj-spacing-xl: 3rem;
  --cj-spacing-xxl: 5rem;

  /* Transitions */
  --cj-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --cj-transition-fast: 200ms ease;
  --cj-transition-normal: 350ms ease;
  --cj-transition-slow: 600ms cubic-bezier(0.25, 0.46, 0.45, 0.94);

  /* Shadows */
  --cj-shadow-sm: 0 2px 8px rgba(12, 12, 10, 0.06);
  --cj-shadow-md: 0 4px 16px rgba(12, 12, 10, 0.08);
  --cj-shadow-lg: 0 12px 40px rgba(12, 12, 10, 0.12);
}


/* ============================================================================
   2. GLOBAL — White Gallery Body
   ============================================================================ */

html {
  scroll-behavior: smooth;
}

body.theme-goya,
body.wp-theme-goya {
  background-color: var(--cj-white) !important;
  color: var(--cj-ink) !important;
  font-family: var(--cj-font-ui) !important;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/* Page wrapper — white */
.theme-goya .page-wrapper,
.theme-goya .page-wrapper-inner,
.theme-goya #content,
.theme-goya .content-area,
.theme-goya .site-main {
  background-color: var(--cj-white) !important;
}

/* Selection */
.theme-goya ::selection {
  background-color: var(--cj-gold);
  color: var(--cj-white);
}

/* Links */
.theme-goya a {
  color: var(--cj-ink);
  text-decoration: none;
  transition: color 0.25s;
}
.theme-goya a:hover {
  color: var(--cj-gold);
}

/* Accent color override — Goya's #977451 → our gold */
.theme-goya .accent-color,
.theme-goya .fancy-title.accent-color,
.theme-goya span.accent-color {
  color: var(--cj-gold) !important;
}


/* ============================================================================
   3. TYPOGRAPHY
   ============================================================================ */

.theme-goya h1,
.theme-goya h2,
.theme-goya h3,
.theme-goya h4,
.theme-goya h5,
.theme-goya h6 {
  font-family: var(--cj-font-display) !important;
  color: var(--cj-ink) !important;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.15;
}

.theme-goya h1 {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 300;
  letter-spacing: 0.03em;
}

.theme-goya h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 300;
}

.theme-goya h3 {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
}

.theme-goya h4 {
  font-size: 1.375rem;
}

.theme-goya h5 {
  font-size: 1.125rem;
}

.theme-goya h6 {
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 400;
  color: var(--cj-gold) !important;
}

.theme-goya p,
.theme-goya .wpb_wrapper p,
.theme-goya .wpb_text_column p {
  font-family: var(--cj-font-ui) !important;
  color: var(--cj-ink) !important;
  line-height: 1.7;
  font-weight: 300;
  letter-spacing: 0.02em;
}

/* WPBakery text columns */
.theme-goya .wpb_text_column .wpb_wrapper {
  color: var(--cj-ink);
}


/* ============================================================================
   4. HEADER — White Gallery Navigation
   ============================================================================ */

/* Main header — white with blur */
.theme-goya header#header.site-header,
.theme-goya header.site-header.header-custom {
  background-color: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--cj-border-soft) !important;
  transition: background-color 0.5s var(--cj-transition), box-shadow 0.4s;
}

/* Scrolled / sticky state */
.theme-goya header#header.site-header.sticky-active,
.theme-goya header#header.sticky-display-top.is-sticky {
  background-color: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 2px 32px rgba(12, 12, 10, 0.08);
}

/* Header inner */
.theme-goya .header-main.header-section {
  background-color: transparent !important;
}

.theme-goya .header-contents.container {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

/* Logo */
.theme-goya .logo-holder .logolink .logoimg {
  max-height: 56px;
  transition: opacity 0.25s;
}
.theme-goya .logo-holder .logolink:hover .logoimg {
  opacity: 0.8;
}

/* Primary navigation links — dark ink text */
.theme-goya ul#menu-main.primary-menu.et-header-menu > li > a,
.theme-goya .main-navigation .et-header-menu > li > a {
  font-family: var(--cj-font-ui) !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--cj-ink-muted) !important;
  transition: color 0.25s !important;
  position: relative;
}

.theme-goya ul#menu-main.primary-menu.et-header-menu > li > a:hover,
.theme-goya ul#menu-main.primary-menu.et-header-menu > li.current-menu-item > a,
.theme-goya ul#menu-main.primary-menu.et-header-menu > li.current-menu-ancestor > a {
  color: var(--cj-ink) !important;
}

/* Gold underline on hover (prototype style) */
.theme-goya ul#menu-main.primary-menu.et-header-menu > li > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 20px;
  height: 1px;
  background: var(--cj-gold);
  transform: scaleX(0);
  transition: transform 0.35s var(--cj-transition);
}

.theme-goya ul#menu-main.primary-menu.et-header-menu > li > a:hover::after,
.theme-goya ul#menu-main.primary-menu.et-header-menu > li.current-menu-item > a::after {
  transform: scaleX(1);
}

/* Sub-menus / dropdowns — white */
.theme-goya .primary-menu .sub-menu,
.theme-goya .et-header-menu .sub-menu {
  background-color: var(--cj-white) !important;
  border: 1px solid var(--cj-border) !important;
  box-shadow: var(--cj-shadow-lg);
}

.theme-goya .primary-menu .sub-menu li a,
.theme-goya .et-header-menu .sub-menu li a {
  font-family: var(--cj-font-ui) !important;
  color: var(--cj-ink-muted) !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
}

.theme-goya .primary-menu .sub-menu li a:hover,
.theme-goya .et-header-menu .sub-menu li a:hover {
  color: var(--cj-ink) !important;
  background-color: var(--cj-off-white) !important;
}

/* Header right icons — ink colored */
.theme-goya .header-right-items a,
.theme-goya .account-links.et-header-menu a,
.theme-goya .quick_search.search-header_icon {
  color: var(--cj-ink-muted) !important;
  transition: color 0.25s;
}

.theme-goya .header-right-items a:hover,
.theme-goya .account-links.et-header-menu a:hover,
.theme-goya .quick_search.search-header_icon:hover {
  color: var(--cj-ink) !important;
}

/* Cart count badge — gold */
.theme-goya .et-cart-count,
.theme-goya .shopping-bag-icon .count {
  background-color: var(--cj-gold) !important;
  color: var(--cj-white) !important;
  font-family: var(--cj-font-ui) !important;
  font-weight: 500;
  font-size: 8px;
}

/* Mobile header — white */
.theme-goya .header-mobile {
  background-color: rgba(255, 255, 255, 0.98) !important;
  border-bottom: 1px solid var(--cj-border-soft) !important;
}

.theme-goya .mobile-header-icons a,
.theme-goya .mobile-header-icons svg {
  color: var(--cj-ink-muted) !important;
}

/* Mobile nav overlay — white */
.theme-goya .mobile-menu-wrapper,
.theme-goya .mobile-nav-holder {
  background-color: var(--cj-white) !important;
}

.theme-goya .mobile-nav-holder a {
  color: var(--cj-ink) !important;
  font-family: var(--cj-font-ui) !important;
}


/* ============================================================================
   5. HERO / BANNER SLIDER — Dark (photos are dark, this is correct)
   ============================================================================ */

.theme-goya .et-banner-slider {
  position: relative;
}

/* Overlay gradient on banners for text readability */
.theme-goya .et-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(12, 12, 10, 0.55) 0%,
    rgba(12, 12, 10, 0.15) 50%,
    rgba(12, 12, 10, 0.05) 100%
  );
  pointer-events: none;
  z-index: 1;
}

/* Banner content */
.theme-goya .et-banner-content {
  z-index: 2;
  position: relative;
}

/* Banner title — white on dark photos */
.theme-goya .et-banner-title {
  font-family: var(--cj-font-display) !important;
  color: var(--cj-white) !important;
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  text-shadow: none;
}

.theme-goya .et-banner-title.small {
  font-size: clamp(1.5rem, 4vw, 2.5rem) !important;
}

/* Banner CTA buttons — gold */
.theme-goya .et-banner-link.button.et_btn,
.theme-goya .et-banner .et_btn.solid {
  font-family: var(--cj-font-ui) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 14px 36px !important;
  background-color: var(--cj-gold) !important;
  border: none !important;
  color: var(--cj-white) !important;
  transition: all 0.3s var(--cj-transition) !important;
}

.theme-goya .et-banner-link.button.et_btn:hover,
.theme-goya .et-banner .et_btn.solid:hover {
  background-color: var(--cj-gold-light) !important;
  transform: translateY(-1px);
}

/* Slick dots */
.theme-goya .et-banner-slider .slick-dots li button {
  background-color: rgba(255, 255, 255, 0.35) !important;
}

.theme-goya .et-banner-slider .slick-dots li.slick-active button {
  background-color: var(--cj-gold-light) !important;
}

/* Slick arrows */
.theme-goya .et-banner-slider .slick-prev,
.theme-goya .et-banner-slider .slick-next {
  color: rgba(255, 255, 255, 0.7) !important;
}

.theme-goya .et-banner-slider .slick-prev:hover,
.theme-goya .et-banner-slider .slick-next:hover {
  color: var(--cj-white) !important;
}


/* ============================================================================
   6. WPBAKERY ROWS — White backgrounds by default
   ============================================================================ */

/* Main containers — white */
.theme-goya .sec_row.container-fluid,
.theme-goya .sec_row.container {
  background-color: var(--cj-white) !important;
}

.theme-goya .vc_row.wpb_row.vc_row-fluid {
  background-color: transparent;
}

/* Dark columns — OVERRIDE: make them white in the gallery context */
.theme-goya .et-dark-column {
  background-color: transparent !important;
}

.theme-goya .et-dark-column .wpb_wrapper {
  color: var(--cj-ink);
}

.theme-goya .et-dark-column .wpb_wrapper p {
  color: var(--cj-ink) !important;
}

.theme-goya .et-dark-column .wpb_wrapper h1,
.theme-goya .et-dark-column .wpb_wrapper h2,
.theme-goya .et-dark-column .wpb_wrapper h3,
.theme-goya .et-dark-column .wpb_wrapper h4,
.theme-goya .et-dark-column .wpb_wrapper h5 {
  color: var(--cj-ink) !important;
}

/* Light columns */
.theme-goya .et-light-column {
  background-color: transparent !important;
}

/* WPBakery text headings */
.theme-goya .wpb_text_column .wpb_wrapper h1,
.theme-goya .wpb_text_column .wpb_wrapper h2,
.theme-goya .wpb_text_column .wpb_wrapper h3,
.theme-goya .wpb_text_column .wpb_wrapper h4,
.theme-goya .wpb_text_column .wpb_wrapper h5 {
  color: var(--cj-ink) !important;
  font-family: var(--cj-font-display) !important;
}

/* WPBakery separator — subtle */
.theme-goya .vc_separator .vc_sep_line {
  border-color: var(--cj-border) !important;
}

/* Rows with Goya custom dark fills — allow them to stay dark
   (these have inline background styles from WPBakery) */
.theme-goya .vc_row.vc_row-has-fill {
  /* Keep Goya's inline background */
}

/* However, make their text readable on dark backgrounds */
.theme-goya .vc_row.vc_row-has-fill h1,
.theme-goya .vc_row.vc_row-has-fill h2,
.theme-goya .vc_row.vc_row-has-fill h3 {
  font-family: var(--cj-font-display) !important;
}

.theme-goya .vc_row.vc_row-has-fill p {
  font-family: var(--cj-font-ui) !important;
}


/* ============================================================================
   7. BUTTONS — Goya .et_btn System
   ============================================================================ */

.theme-goya .et_btn.button,
.theme-goya a.et_btn.button,
.theme-goya .et_btn_align_center .et_btn {
  font-family: var(--cj-font-ui) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  transition: all 0.3s var(--cj-transition) !important;
}

/* Solid button — gold fill */
.theme-goya .et_btn.solid {
  background-color: var(--cj-gold) !important;
  border-color: var(--cj-gold) !important;
  color: var(--cj-white) !important;
}

.theme-goya .et_btn.solid:hover {
  background-color: var(--cj-gold-light) !important;
  border-color: var(--cj-gold-light) !important;
}

/* Outlined button — ink border on white background */
.theme-goya .et_btn.outlined {
  background-color: transparent !important;
  border: 1.5px solid var(--cj-ink) !important;
  color: var(--cj-ink) !important;
}

.theme-goya .et_btn.outlined:hover {
  background-color: var(--cj-ink) !important;
  color: var(--cj-white) !important;
}

/* Button arrow SVG */
.theme-goya .et_btn.arrow-enabled svg path {
  fill: currentColor;
  stroke: currentColor;
}


/* ============================================================================
   8. WOOCOMMERCE CATEGORIES — White Gallery Grid
   ============================================================================ */

/* Portafolio section — white background, categories as dark photo cards */
.theme-goya .woocommerce ul.products.et-main-products {
  /* Preserve Goya grid */
}

/* Category card — dark image overlay like prototype */
.theme-goya li.product-category.product .et-category-inner {
  border-radius: 0;
  overflow: hidden;
}

.theme-goya li.product-category.product .et-category-inner a {
  position: relative;
}

/* Overlay gradient — bottom dark for text */
.theme-goya li.product-category.product .et-category-inner a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(12, 12, 10, 0.85) 0%,
    transparent 55%
  );
  z-index: 1;
  transition: background 0.4s var(--cj-transition);
}

.theme-goya li.product-category.product:hover .et-category-inner a::before {
  background: linear-gradient(
    to top,
    rgba(12, 12, 10, 0.7) 0%,
    rgba(12, 12, 10, 0.1) 55%
  );
}

/* Category title */
.theme-goya .category-caption {
  z-index: 2;
  position: relative;
}

.theme-goya .category-caption .woocommerce-loop-category__title {
  font-family: var(--cj-font-display) !important;
  color: var(--cj-white) !important;
  font-weight: 400 !important;
  font-size: 1.375rem !important;
  letter-spacing: 0.03em;
  line-height: 1.2;
}

.theme-goya .category-caption .woocommerce-loop-category__title mark.count {
  background: transparent !important;
  color: var(--cj-gold-light) !important;
  font-family: var(--cj-font-display) !important;
  font-size: 0.75rem;
  font-weight: 300;
  letter-spacing: 0.2em;
}

/* Product cards on shop pages — white card with ink text */
.theme-goya .et-main-products .product .product-info {
  background-color: var(--cj-white) !important;
  padding: 18px 20px 20px;
}

.theme-goya .et-main-products .product .woocommerce-loop-product__title,
.theme-goya .et-main-products .product .product-title a {
  font-family: var(--cj-font-display) !important;
  color: var(--cj-ink) !important;
  font-weight: 400;
  font-size: 1.125rem;
}

.theme-goya .et-main-products .product .price,
.theme-goya .woocommerce .price {
  color: var(--cj-ink) !important;
  font-family: var(--cj-font-display) !important;
  font-weight: 400;
  font-size: 1.25rem;
}

/* Product badges */
.theme-goya .et-main-products .product .badge-label {
  font-family: var(--cj-font-ui) !important;
  font-size: 8px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background-color: var(--cj-ink) !important;
  color: var(--cj-white) !important;
}

/* Add to cart */
.theme-goya .woocommerce .button.add_to_cart_button,
.theme-goya .woocommerce .button.product_type_simple {
  background-color: var(--cj-ink) !important;
  color: var(--cj-white) !important;
  border: none !important;
  font-family: var(--cj-font-ui) !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-size: 9px !important;
  font-weight: 400;
  transition: background-color 0.25s, color 0.25s;
}

.theme-goya .woocommerce .button.add_to_cart_button:hover {
  background-color: var(--cj-gold) !important;
}

/* Sale badge */
.theme-goya .woocommerce span.onsale {
  background-color: var(--cj-gold) !important;
  color: var(--cj-white) !important;
  font-family: var(--cj-font-ui) !important;
  font-size: 8px;
  letter-spacing: 0.15em;
}


/* ============================================================================
   9. BLOG / POST SLIDER — White cards
   ============================================================================ */

.theme-goya .et-post-slider-inner {
  background-color: var(--cj-white);
  border: none;
  overflow: hidden;
  transition: transform 0.4s var(--cj-transition);
}

.theme-goya .et-post-slider-inner:hover {
  transform: translateY(-3px);
}

/* Post gallery images */
.theme-goya .et-post-slider .post-gallery a {
  display: block;
  overflow: hidden;
}

.theme-goya .et-post-slider .post-gallery img {
  transition: transform 0.8s var(--cj-transition);
}

.theme-goya .et-post-slider-inner:hover .post-gallery img {
  transform: scale(1.04);
}

/* Post content area */
.theme-goya .et-post-slider-content {
  padding: 18px 20px 20px !important;
  background-color: var(--cj-white);
}

/* Post categories — gold labels */
.theme-goya .et-post-slider-content .post-categories li a,
.theme-goya .post-categories li a {
  font-family: var(--cj-font-ui) !important;
  font-size: 9px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--cj-gold) !important;
  font-weight: 300;
}

/* Post title — ink */
.theme-goya .et-post-slider-content .entry-title,
.theme-goya .et-post-slider-content .entry-title a {
  font-family: var(--cj-font-display) !important;
  color: var(--cj-ink) !important;
  font-weight: 400 !important;
  font-size: 1.125rem !important;
  line-height: 1.2;
}

.theme-goya .et-post-slider-content .entry-title a:hover {
  color: var(--cj-gold) !important;
}

/* Post meta — muted ink */
.theme-goya .et-post-slider-content .post-meta,
.theme-goya .et-post-slider-content .post-meta a,
.theme-goya .et-post-slider-content .date-link,
.theme-goya .et-post-slider-content time.time {
  font-family: var(--cj-font-ui) !important;
  color: var(--cj-ink-muted) !important;
  font-size: 0.8125rem !important;
}

/* Post excerpt */
.theme-goya .et-post-slider-content .post-content p {
  font-family: var(--cj-font-ui) !important;
  color: var(--cj-ink-muted) !important;
  font-size: 0.8125rem !important;
  line-height: 1.6;
  font-weight: 300;
}

/* Slick arrows/dots — gray on white */
.theme-goya .et-post-slider .slick-prev,
.theme-goya .et-post-slider .slick-next {
  color: var(--cj-ink-muted) !important;
}

.theme-goya .et-post-slider .slick-prev:hover,
.theme-goya .et-post-slider .slick-next:hover {
  color: var(--cj-ink) !important;
}

.theme-goya .et-post-slider .slick-dots li button {
  background-color: var(--cj-pearl) !important;
}

.theme-goya .et-post-slider .slick-dots li.slick-active button {
  background-color: var(--cj-gold) !important;
}


/* ============================================================================
   10. FOOTER — Dark (matches prototype)
   ============================================================================ */

/* Main footer */
.theme-goya footer#colophon.site-footer,
.theme-goya footer.site-footer.dark {
  background-color: var(--cj-ink) !important;
  border-top: none !important;
}

/* Footer widgets */
.theme-goya .footer-widgets.footer-toggle-widgets {
  background-color: var(--cj-ink) !important;
  padding: 60px 0 36px;
}

/* Widget titles — white on dark */
.theme-goya .footer-widgets .widgettitle,
.theme-goya .footer-widgets h2.widgettitle {
  font-family: var(--cj-font-display) !important;
  color: var(--cj-white) !important;
  font-size: 1.125rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em;
  margin-bottom: var(--cj-spacing-md);
}

/* Footer menu links — light on dark */
.theme-goya .footer-widgets .menu li a,
.theme-goya .footer-widgets .widget a {
  font-family: var(--cj-font-ui) !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 13px !important;
  font-weight: 300;
  letter-spacing: 0.02em;
  transition: color 0.25s;
}

.theme-goya .footer-widgets .menu li a:hover,
.theme-goya .footer-widgets .widget a:hover {
  color: var(--cj-white) !important;
}

/* Footer text */
.theme-goya .footer-widgets p,
.theme-goya .footer-widgets .widget p {
  color: rgba(255, 255, 255, 0.5) !important;
  font-family: var(--cj-font-ui) !important;
}

/* Footer bar (bottom) — dark */
.theme-goya #footer-bar.footer-bar.footer-main,
.theme-goya .footer-bar.footer-normal.dark {
  background-color: var(--cj-ink) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: var(--cj-spacing-sm) 0;
}

.theme-goya .footer-bar.custom-color-1 {
  background-color: var(--cj-ink) !important;
}

/* Footer bar content */
.theme-goya .footer-bar-content,
.theme-goya .footer-bar-content p {
  font-family: var(--cj-font-ui) !important;
  color: rgba(255, 255, 255, 0.35) !important;
  font-size: 0.75rem !important;
  font-weight: 300;
  letter-spacing: 0.04em;
}

/* Footer navigation */
.theme-goya .footer-navigation.navigation a,
.theme-goya #footer-bar-menu a {
  font-family: var(--cj-font-ui) !important;
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.08em;
  font-weight: 300;
}

.theme-goya .footer-navigation.navigation a:hover,
.theme-goya #footer-bar-menu a:hover {
  color: var(--cj-white) !important;
}

/* Language switcher in footer */
.theme-goya .et-switcher-container.et-language .selected,
.theme-goya .et-switcher-container .ls-name,
.theme-goya .et-switcher-container .ls-code {
  color: rgba(255, 255, 255, 0.5) !important;
  font-family: var(--cj-font-ui) !important;
  font-size: 0.75rem;
}


/* ============================================================================
   11. WOOCOMMERCE SINGLE PRODUCT — White Gallery
   ============================================================================ */

.theme-goya .woocommerce div.product .product_title {
  font-family: var(--cj-font-display) !important;
  color: var(--cj-ink) !important;
  font-weight: 300;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  letter-spacing: 0.03em;
}

.theme-goya .woocommerce div.product .woocommerce-product-details__short-description p {
  color: var(--cj-ink-soft) !important;
  font-family: var(--cj-font-ui) !important;
  font-weight: 300;
}

.theme-goya .woocommerce div.product p.price,
.theme-goya .woocommerce div.product span.price {
  color: var(--cj-ink) !important;
  font-family: var(--cj-font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 400;
}

/* Single product add to cart */
.theme-goya .woocommerce div.product .single_add_to_cart_button {
  background-color: var(--cj-gold) !important;
  color: var(--cj-white) !important;
  border: none !important;
  font-family: var(--cj-font-ui) !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  padding: 16px 40px !important;
  transition: background-color 0.3s !important;
}

.theme-goya .woocommerce div.product .single_add_to_cart_button:hover {
  background-color: var(--cj-gold-light) !important;
}

/* Tabs */
.theme-goya .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--cj-font-ui) !important;
  color: var(--cj-ink-muted) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 400;
}

.theme-goya .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--cj-ink) !important;
}


/* ============================================================================
   12. FORMS & INPUTS — Clean Museum Style
   ============================================================================ */

.theme-goya input[type="text"],
.theme-goya input[type="email"],
.theme-goya input[type="search"],
.theme-goya input[type="password"],
.theme-goya input[type="tel"],
.theme-goya input[type="url"],
.theme-goya input[type="number"],
.theme-goya textarea,
.theme-goya select {
  background-color: var(--cj-white) !important;
  border: 1.5px solid var(--cj-ink) !important;
  color: var(--cj-ink) !important;
  font-family: var(--cj-font-ui) !important;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.04em;
  padding: 14px 20px;
  transition: border-color 0.3s;
}

.theme-goya input:focus,
.theme-goya textarea:focus,
.theme-goya select:focus {
  border-color: var(--cj-gold) !important;
  outline: none;
  box-shadow: none;
}

.theme-goya input::placeholder,
.theme-goya textarea::placeholder {
  color: var(--cj-ink-muted) !important;
  font-weight: 300;
}

/* Ninja Forms (footer — still dark context) */
.theme-goya .footer-widgets .nf-form-cont .nf-field-element input {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: var(--cj-white) !important;
}

.theme-goya .footer-widgets .nf-form-cont .nf-field-element input:focus {
  border-color: var(--cj-gold) !important;
}


/* ============================================================================
   13. SEARCH OVERLAY — White
   ============================================================================ */

.theme-goya .search-overlay,
.theme-goya .popup-search-wrapper {
  background-color: rgba(255, 255, 255, 0.97) !important;
}

.theme-goya .search-overlay input[type="search"],
.theme-goya .popup-search-wrapper input {
  font-family: var(--cj-font-display) !important;
  color: var(--cj-ink) !important;
  border-bottom: 1.5px solid var(--cj-ink) !important;
  background: transparent !important;
  font-size: 2rem;
  font-weight: 300;
}

.theme-goya .search-overlay input:focus,
.theme-goya .popup-search-wrapper input:focus {
  border-bottom-color: var(--cj-gold) !important;
}

.theme-goya .search-overlay .close-search,
.theme-goya .popup-search-wrapper .close-btn {
  color: var(--cj-ink-muted) !important;
}


/* ============================================================================
   14. SCROLLBAR — Minimal
   ============================================================================ */

.theme-goya ::-webkit-scrollbar {
  width: 6px;
}

.theme-goya ::-webkit-scrollbar-track {
  background: var(--cj-off-white);
}

.theme-goya ::-webkit-scrollbar-thumb {
  background: var(--cj-pearl);
  border-radius: 3px;
}

.theme-goya ::-webkit-scrollbar-thumb:hover {
  background: var(--cj-gold);
}


/* ============================================================================
   15. CJ CUSTOM SECTIONS (Shortcodes for WPBakery)
   ============================================================================ */

/* Shared section styling — white context */
.cj-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.cj-reveal.cj-visible {
  opacity: 1;
  transform: translateY(0);
}

.cj-section-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px;
}

.cj-section-header {
  margin-bottom: 52px;
}

/* Section label — gold with line */
.cj-section-label {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: var(--cj-font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--cj-gold);
  margin-bottom: 16px;
}

.cj-section-label::after {
  content: '';
  flex: 1;
  max-width: 60px;
  height: 1px;
  background: var(--cj-gold-pale);
}

/* Section title — ink */
.cj-section-title {
  font-family: var(--cj-font-display) !important;
  font-size: clamp(2rem, 4vw, 3.25rem);
  color: var(--cj-ink) !important;
  font-weight: 300;
  line-height: 1.1;
  margin-bottom: 8px;
}

.cj-section-title em {
  font-style: italic;
  color: var(--cj-gold);
}

.cj-section-subtitle {
  font-family: var(--cj-font-ui);
  font-size: 14px;
  font-weight: 300;
  color: var(--cj-ink-muted);
  letter-spacing: 0.04em;
  line-height: 1.7;
  max-width: 440px;
}

.cj-section-cta {
  margin-top: var(--cj-spacing-xl);
}

/* CJ Buttons */
.cj-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 36px;
  background: var(--cj-gold);
  color: var(--cj-white);
  font-family: var(--cj-font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.3s;
}

.cj-btn-primary:hover {
  background: var(--cj-gold-light);
  color: var(--cj-white);
}

.cj-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 36px;
  background: var(--cj-ink);
  color: var(--cj-white);
  font-family: var(--cj-font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.3s;
}

.cj-btn-secondary:hover {
  background: var(--cj-gold);
  color: var(--cj-white);
}

.cj-btn-outline {
  display: inline-block;
  padding: 14px 36px;
  border: 1.5px solid var(--cj-ink);
  background: transparent;
  color: var(--cj-ink);
  font-family: var(--cj-font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.25s;
}

.cj-btn-outline:hover {
  background: var(--cj-ink);
  color: var(--cj-white);
}


/* --- Videos Section (off-white background) --- */
.cj-videos-section {
  background-color: var(--cj-off-white);
  border-top: 1px solid var(--cj-border-soft);
}

.cj-videos-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--cj-spacing-lg);
}

.cj-video-main {
  position: relative;
  padding-top: 56.25%;
  background-color: var(--cj-pearl);
}

.cj-video-main iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cj-video-rail {
  display: flex;
  flex-direction: column;
  gap: var(--cj-spacing-sm);
}

.cj-video-thumb {
  display: block;
  position: relative;
  padding-top: 56.25%;
  background-color: var(--cj-pearl);
  overflow: hidden;
  cursor: pointer;
  border: 1px solid var(--cj-border-soft);
  transition: border-color 0.25s;
}

.cj-video-thumb:hover,
.cj-video-thumb.cj-active {
  border-color: var(--cj-gold);
}

.cj-video-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .cj-videos-layout {
    grid-template-columns: 1fr;
  }
  .cj-video-rail {
    flex-direction: row;
    overflow-x: auto;
  }
  .cj-video-thumb {
    flex: 0 0 45%;
    padding-top: 25%;
  }
}


/* --- Stories Section (white) --- */
.cj-stories-section {
  background-color: var(--cj-white);
}

.cj-stories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 2px;
}

.cj-story-card {
  background-color: var(--cj-white);
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.4s var(--cj-transition);
}

.cj-story-card:hover {
  transform: translateY(-3px);
}

.cj-story-card--featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
}

.cj-story-card__img-link {
  display: block;
  overflow: hidden;
  background: var(--cj-pearl);
}

.cj-story-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--cj-transition);
}

.cj-story-card:hover .cj-story-card__img {
  transform: scale(1.04);
}

.cj-story-card__body {
  padding: 18px 20px 20px;
}

.cj-story-card__cat {
  font-family: var(--cj-font-ui);
  font-size: 9px;
  font-weight: 300;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cj-gold);
}

.cj-story-card__title {
  font-family: var(--cj-font-display) !important;
  font-size: 1.125rem !important;
  color: var(--cj-ink) !important;
  font-weight: 400;
  margin: 6px 0;
  line-height: 1.2;
}

.cj-story-card__title a {
  color: inherit !important;
  text-decoration: none;
}

.cj-story-card__title a:hover {
  color: var(--cj-gold) !important;
}

.cj-story-card__excerpt {
  font-family: var(--cj-font-ui);
  color: var(--cj-ink-muted);
  font-size: 0.8125rem;
  font-weight: 300;
  line-height: 1.6;
}

.cj-story-card__meta {
  font-family: var(--cj-font-ui);
  font-size: 0.75rem;
  color: var(--cj-ink-muted);
  font-weight: 300;
  margin-top: var(--cj-spacing-sm);
}

@media (max-width: 768px) {
  .cj-story-card--featured {
    grid-template-columns: 1fr;
  }
}


/* --- Textures Section (white) --- */
.cj-textures-section {
  background-color: var(--cj-white);
}

.cj-tex-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2px;
  margin-top: 48px;
}

.cj-tex-card {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  cursor: pointer;
  background: var(--cj-pearl);
}

.cj-tex-card__thumb {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cj-tex-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--cj-transition);
}

.cj-tex-card:hover .cj-tex-card__img {
  transform: scale(1.08);
}

.cj-tex-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(12, 12, 10, 0);
  z-index: 1;
  transition: background 0.4s;
}

.cj-tex-card:hover .cj-tex-card__overlay {
  background: rgba(12, 12, 10, 0.5);
}

.cj-tex-card__info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  z-index: 2;
  transform: translateY(100%);
  transition: transform 0.4s var(--cj-transition);
  background: rgba(12, 12, 10, 0.85);
}

.cj-tex-card:hover .cj-tex-card__info {
  transform: translateY(0);
}

.cj-tex-card__info h3 {
  font-family: var(--cj-font-display) !important;
  font-size: 14px !important;
  color: var(--cj-white) !important;
  margin: 0 0 4px;
}

.cj-tex-card__price {
  font-size: 11px;
  font-weight: 300;
  color: var(--cj-gold-light);
}

@media (max-width: 768px) {
  .cj-tex-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 480px) {
  .cj-tex-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* --- Tours Section (DARK — matches prototype) --- */
.cj-tours-section {
  background-color: var(--cj-ink) !important;
  color: var(--cj-white);
  padding: 80px 40px;
}

/* Override labels/titles for dark context */
.cj-tours-section .cj-section-label {
  color: var(--cj-gold-light);
}

.cj-tours-section .cj-section-label::after {
  background: rgba(184, 151, 74, 0.3);
}

.cj-tours-section .cj-section-title {
  color: var(--cj-white) !important;
}

.cj-tours-section .cj-section-subtitle {
  color: rgba(255, 255, 255, 0.5);
}

.cj-tours-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 360px 240px;
  gap: 2px;
}

.cj-tour-card {
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
}

.cj-tour-card--large {
  grid-row: span 2;
}

.cj-tour-card__img {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cj-tour-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--cj-transition);
}

.cj-tour-card:hover .cj-tour-card__img img {
  transform: scale(1.05);
}

.cj-tour-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, transparent 55%);
  z-index: 1;
}

.cj-tour-card__body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px 24px;
  z-index: 2;
}

.cj-tour-card__dest {
  font-family: var(--cj-font-ui);
  font-size: 9px;
  font-weight: 300;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cj-gold-light);
  margin-bottom: 8px;
}

.cj-tour-card__title {
  font-family: var(--cj-font-display) !important;
  font-size: 1.625rem !important;
  color: var(--cj-white) !important;
  font-weight: 400;
  line-height: 1.1;
  margin-bottom: 4px;
}

.cj-tour-card--large .cj-tour-card__title {
  font-size: 2.375rem !important;
}

.cj-tour-card__date {
  font-family: var(--cj-font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 16px;
}

.cj-tour-card__tag {
  display: inline-block;
  padding: 5px 14px;
  border: 1px solid rgba(184, 151, 74, 0.4);
  font-family: var(--cj-font-ui);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cj-gold-light);
}

@media (max-width: 768px) {
  .cj-tours-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .cj-tour-card--large {
    grid-row: auto;
    grid-column: span 2;
  }
  .cj-tour-card {
    min-height: 240px;
  }
}


/* --- Trust Strip (white, bordered) --- */
.cj-trust-strip {
  padding: 56px 40px;
  border-top: 1px solid var(--cj-border-soft);
  border-bottom: 1px solid var(--cj-border-soft);
  background: var(--cj-white);
}

.cj-trust-strip__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.cj-trust-strip__item {
  padding: 32px 36px;
  border-right: 1px solid var(--cj-border);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.cj-trust-strip__item:last-child {
  border-right: none;
}

.cj-trust-strip__icon {
  color: var(--cj-gold);
  font-size: 1.25rem;
}

.cj-trust-strip__title {
  font-family: var(--cj-font-display);
  font-size: 1.125rem;
  font-weight: 400;
  color: var(--cj-ink);
}

.cj-trust-strip__text {
  font-family: var(--cj-font-ui);
  font-size: 12px;
  font-weight: 300;
  color: var(--cj-ink-muted);
  line-height: 1.7;
  letter-spacing: 0.02em;
}

@media (max-width: 768px) {
  .cj-trust-strip__inner {
    grid-template-columns: repeat(2, 1fr);
  }
  .cj-trust-strip__item:nth-child(2) {
    border-right: none;
  }
  .cj-trust-strip__item:nth-child(1),
  .cj-trust-strip__item:nth-child(2) {
    border-bottom: 1px solid var(--cj-border);
  }
}


/* ============================================================================
   16. UTILITY & MISC OVERRIDES
   ============================================================================ */

/* Goya preloader */
.theme-goya .preloader {
  background-color: var(--cj-white) !important;
}

/* Breadcrumbs */
.theme-goya .breadcrumb,
.theme-goya .woocommerce-breadcrumb {
  font-family: var(--cj-font-ui) !important;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--cj-ink-muted);
  text-transform: uppercase;
}

.theme-goya .woocommerce-breadcrumb a {
  color: var(--cj-ink-muted) !important;
}

.theme-goya .woocommerce-breadcrumb a:hover {
  color: var(--cj-ink) !important;
}

/* Pagination */
.theme-goya .pagination a,
.theme-goya .woocommerce nav.woocommerce-pagination ul li a {
  background-color: transparent !important;
  border: 1px solid var(--cj-border) !important;
  color: var(--cj-ink-muted) !important;
  font-family: var(--cj-font-ui) !important;
  transition: all 0.25s;
}

.theme-goya .pagination .current,
.theme-goya .woocommerce nav.woocommerce-pagination ul li span.current {
  background-color: var(--cj-ink) !important;
  border-color: var(--cj-ink) !important;
  color: var(--cj-white) !important;
}

/* Override Goya's inline accent (#977451) colors */
.theme-goya .we-grid-shortcode figure.ex-modern-blog .ex-social-share,
.theme-goya .we-ajax-pagination ul li .page-numbers.current {
  background-color: var(--cj-gold) !important;
  border-color: var(--cj-gold) !important;
}

.theme-goya .we-table-lisst .we-table td.tb-price,
.theme-goya .we-table-lisst .we-table td span.amount {
  color: var(--cj-gold) !important;
}

/* Back to top */
.theme-goya .back-to-top {
  background-color: var(--cj-ink) !important;
  color: var(--cj-white) !important;
  border-radius: 0 !important;
  transition: background-color 0.25s;
}

.theme-goya .back-to-top:hover {
  background-color: var(--cj-gold) !important;
}

/* WooCommerce messages — subtle white */
.theme-goya .woocommerce-message,
.theme-goya .woocommerce-info {
  background-color: var(--cj-off-white) !important;
  border-top-color: var(--cj-gold) !important;
  color: var(--cj-ink) !important;
}

.theme-goya .woocommerce-error {
  background-color: #fdf2f2 !important;
  border-top-color: #c0392b !important;
  color: var(--cj-ink) !important;
}


/* ============================================================================
   17. RESPONSIVE
   ============================================================================ */

@media (max-width: 991px) {
  .cj-section-inner {
    padding: 60px 24px;
  }
}

@media (max-width: 768px) {
  .theme-goya .et-banner-title {
    font-size: 1.5rem !important;
  }

  .theme-goya .et-banner-link.button.et_btn {
    padding: 10px 24px !important;
    font-size: 9px !important;
  }

  .cj-section-inner {
    padding: 48px 20px;
  }
}

@media (max-width: 480px) {
  .cj-tours-section {
    padding: 48px 20px;
  }

  .cj-tours-grid {
    grid-template-columns: 1fr;
  }

  .cj-tour-card--large {
    grid-column: auto;
  }
}


/* ============================================================================
   18. PRINT STYLES
   ============================================================================ */

@media print {
  body {
    background: #fff !important;
    color: #000 !important;
  }
  .cj-agent-widget,
  .back-to-top,
  header#header,
  footer#colophon,
  #footer-bar {
    display: none !important;
  }
}
