/* Kameleon - Pracownia florystyczno-dekoratorska | dekoracje-kwiaty.pl */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600&family=Open+Sans:wght@300;400;600&display=swap');

:root {
  --accent: #F07677;
  --accent-dark: #d85e5f;
  --bg: #FFF8F3;
  --header-bg: #1d1d1d;
  --text: #4a4a4a;
  --text-dark: #1d1d1d;
  --border: #D8D0BF;
}

/* ---- Base ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Open Sans', Arial, sans-serif; background: var(--bg); color: var(--text); line-height: 1.75; overflow-x: hidden; font-size: 15px; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-dark); }
h1,h2,h3,h4,h5,h6 { font-family: 'Cinzel', Georgia, serif; color: var(--text-dark); line-height: 1.3; }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }
p { margin-bottom: 14px; }

/* ---- JOOMLA LAYOUT ---- */
div#main { width: 100%; }
/* Hide header widgets */
div#modul-kameleon-02, div#modul-kameleon-04, div#modul-kameleon-05,
div#soc, div#search, div#rokajaxsearch_tmp,
div#roksearch_results, .rokajaxsearch, #searchform { display: none !important; }

/* Logo */
div#logo { background: var(--header-bg); padding: 14px 24px; text-align: center; border-bottom: 3px solid var(--accent); }
div#logo img { max-height: 65px; margin: 0 auto; }
div#logo a { display: inline-block; }

/* Navigation */
div#menu { background: var(--header-bg); }
div#menu .moduletable { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
div#menu ul { display: flex; flex-wrap: wrap; }
div#menu ul li { position: relative; }
div#menu ul li a { display: block; padding: 14px 16px; color: #e0e0e0; font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; font-family: 'Open Sans', sans-serif; transition: color 0.2s, background 0.2s; }
div#menu ul li a:hover { color: #fff; background: rgba(240,118,119,0.25); }
div#menu ul li.active > a, div#menu ul li.current > a { color: var(--accent); }
div#menu ul ul { display: none; position: absolute; top: 100%; left: 0; background: #2a2a2a; min-width: 230px; z-index: 999; border-top: 2px solid var(--accent); box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
div#menu ul li:hover > ul { display: block; }
div#menu ul ul li a { padding: 10px 18px; font-size: 11px; border-bottom: 1px solid #3a3a3a; letter-spacing: 0.8px; }
div#menu ul ul li:last-child a { border-bottom: none; }

/* Content wrapper */
div#wrap { max-width: 1200px; margin: 0 auto; padding: 40px 24px; }
div#content { }

/* Gallery */
div.galeria-inspiracje { }
.dj-slideshowThumbs { overflow: visible; }
.dj-slideshowThumbs-in { width: 100% !important; height: auto !important; max-width: none !important; }
.dj-slides { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; height: auto !important; position: static !important; overflow: visible !important; }
.dj-slide { position: static !important; width: auto !important; height: auto !important; overflow: visible !important; }
.dj-slide-in { height: auto !important; }
.dj-slide img.dj-image { width: 100%; height: 220px; object-fit: cover; border-radius: 4px; transition: opacity 0.2s; }
.dj-slide img.dj-image:hover { opacity: 0.9; }
.dj-slide a { display: block; }
.dj-slide-desc, .dj-slide-desc-bg, .dj-slide-desc-text { display: none; }
.zamow { display: none !important; }
.dj-slideshowThumbs-thumbs { display: none; }
/* Text content */
.item-page { margin-top: 30px; }
.item-page h1, .item-page h2 { font-size: 22px; margin-bottom: 18px; padding-bottom: 12px; border-bottom: 2px solid var(--border); }
div#content .error { color: var(--text); }
/* Koszyk inspiracji widget - hide */
div.blog-inspiracje { display: none !important; }
#modul-kameleon-04 .blog-inspiracje { display: none !important; }

/* Multithumb gallery (o-nas etc) */
.multithumb { border-radius: 4px; overflow: hidden; }
.mtGallery { display: flex; flex-wrap: wrap; gap: 10px; }
.mtGallery a { display: block; width: calc(33.333% - 7px); }
.mtGallery img { width: 100%; height: 180px; object-fit: cover; border-radius: 4px; }

/* Joomla footer */
div#footer { background: var(--header-bg); color: #bbb; padding: 32px 24px; margin-top: 50px; }
div#footer-u { max-width: 1200px; margin: 0 auto; display: flex; gap: 40px; flex-wrap: wrap; }
div#footer-d { max-width: 1200px; margin: 12px auto 0; font-size: 12px; border-top: 1px solid #333; padding-top: 14px; }
div#footer a { color: #ccc; transition: color 0.2s; }
div#footer a:hover { color: var(--accent); }
div#footer .moduletable { min-width: 200px; }
div#footer .moduletable h3 { font-size: 13px; color: #e0e0e0; margin-bottom: 12px; letter-spacing: 1px; text-transform: uppercase; }
div#footer ul li { margin-bottom: 6px; }
div#footer ul li a { font-size: 13px; }

/* ---- WORDPRESS LAYOUT ---- */
div#page.main-container { }
div.fixed-header-box { position: sticky; top: 0; z-index: 1000; background: var(--header-bg); box-shadow: 0 2px 8px rgba(0,0,0,0.4); }
div.first-row { display: flex; align-items: center; justify-content: center; padding: 12px 24px; background: var(--header-bg); border-bottom: 3px solid var(--accent); min-height: 70px; }
div.logo-wrapper, div.logo-wrapper a { display: block; }
div.logo-wrapper img { max-height: 60px; }
header.main-header .first-row { background: var(--header-bg); }
div.second-row { background: var(--header-bg); }

/* WP nav */
nav.vamtam-nav, .vamtam-main-nav-wrapper { background: var(--header-bg); }
.vamtam-main-nav { display: flex; flex-wrap: wrap; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.vamtam-main-nav > li { position: relative; }
.vamtam-main-nav > li > a { display: block; padding: 14px 15px; color: #e0e0e0; font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; font-family: 'Open Sans', sans-serif; transition: color 0.2s; }
.vamtam-main-nav > li > a:hover, .vamtam-main-nav > li.current-menu-item > a { color: var(--accent); }
.vamtam-main-nav ul { display: none; position: absolute; top: 100%; left: 0; background: #2a2a2a; min-width: 230px; z-index: 999; border-top: 2px solid var(--accent); }
.vamtam-main-nav li:hover > ul { display: block; }
.vamtam-main-nav ul li a { display: block; padding: 10px 18px; color: #ccc; font-size: 11px; border-bottom: 1px solid #3a3a3a; letter-spacing: 0.8px; }
/* WP open/close menu button - hide */
.menu-toggle, .mobile-nav-toggle, a.skip-link { display: none !important; }

/* WP main content */
div.boxed-layout { max-width: 1200px; margin: 0 auto; padding: 40px 24px; }
div.shadow-bottom { box-shadow: 0 3px 8px rgba(0,0,0,0.1); }
article.page, article.post { background: #fff; border-radius: 6px; padding: 36px; box-shadow: 0 2px 10px rgba(0,0,0,0.06); }
.entry-content, .page-content { }
.entry-content h1, .page-content h1, .entry-title, .page-title { font-size: 26px; margin-bottom: 24px; padding-bottom: 14px; border-bottom: 2px solid var(--border); }
.entry-content h2, .page-content h2 { font-size: 20px; margin: 24px 0 14px; }
.entry-content h3, .page-content h3 { font-size: 17px; margin: 18px 0 10px; }
.entry-content p, .page-content p { margin-bottom: 16px; color: var(--text); }
.entry-content img, .page-content img { margin: 16px 0; border-radius: 4px; }
.entry-content ul, .page-content ul { list-style: disc; padding-left: 24px; margin-bottom: 16px; }
.entry-content ul li, .page-content ul li { margin-bottom: 6px; }

/* WP gallery */
.wp-gallery, .gallery, .tiled-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 20px 0; }
.gallery-item, .gallery-col { }
.gallery-item img { width: 100%; height: 200px; object-fit: cover; border-radius: 4px; }

/* WP section heading */
.vamtam-heading h2, .vamtam-heading h3 { font-family: 'Cinzel', serif; font-size: 26px; margin-bottom: 16px; }
.vamtam-heading .subtitle { color: var(--accent); font-size: 13px; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 8px; display: block; }

/* WP footer */
footer.site-footer, footer, #colophon { background: var(--header-bg); color: #bbb; padding: 32px 24px; margin-top: 50px; }
footer a { color: #ccc; }
footer a:hover { color: var(--accent); }
.copyrights { font-size: 12px; color: #777; padding-top: 14px; border-top: 1px solid #333; }
footer .footer-content-wrap { max-width: 1200px; margin: 0 auto; }

/* ---- HIDE NOISE (both CMS) ---- */
/* WP elements */
.aspexifblikebox, #aspexi_facebook_iframe, .fb-like-box, #fb-root { display: none !important; }
#catapult-cookie-bar, .ctcc-inner, .cookie-notice-container { display: none !important; }
#scroll-to-top { display: none !important; }
.layerslider-wrapper, #layerslider, .ls-wp-container { display: none !important; }
.rev_slider_wrapper, .tp-fullwidth-forcer, .rs-fullwidth-wrap { display: none !important; }
#ba_s, meta#ba_s { display: none; }
/* Forms */
form, .wpcf7, .wpcf7-form, .contact-form-7, .wpforms-form { display: none !important; }
.frm_forms, .gform_wrapper { display: none !important; }
/* Social */
.social-links, .social-box, .social-share, .share-post { display: none !important; }
.vamtam-love-it, .vamtam-social-icons { display: none !important; }
/* Comments */
#comments, .comment-form, #respond { display: none !important; }
/* Search */
.search-form, .widget_search, #searchform { display: none !important; }
/* Breadcrumbs */
nav.breadcrumbs, .breadcrumbs, #breadcrumbs { display: none; }
/* Cookie consent */
#cookie-consent, .cookie-consent { display: none !important; }

/* ---- RESPONSIVE ---- */
@media (max-width: 900px) {
  .dj-slides { grid-template-columns: repeat(2, 1fr); }
  .wp-gallery, .gallery { grid-template-columns: repeat(2, 1fr); }
  .mtGallery a { width: calc(50% - 5px); }
  div.first-row { min-height: 60px; padding: 10px 16px; }
}
@media (max-width: 768px) {
  div#menu ul, .vamtam-main-nav { flex-direction: column; }
  div#menu ul ul, .vamtam-main-nav ul { position: static; box-shadow: none; border-top: none; }
  div#menu ul li a, .vamtam-main-nav > li > a { padding: 12px 16px; }
  div#wrap, div.boxed-layout { padding: 24px 16px; }
  article.page, article.post { padding: 20px; }
  .entry-content h1, .entry-title { font-size: 22px; }
}
@media (max-width: 480px) {
  .dj-slides { grid-template-columns: 1fr; }
  .gallery { grid-template-columns: 1fr; }
  .mtGallery a { width: 100%; }
}
