/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 1.3.0
*/

/* ==========================================================================
   SM Strumyk.PL — UNIFIED DESIGN SYSTEM
   Style: Hybrid (Aggressive structure + Journal cards)
   
   Color palette:
   - Primary (Red):    #2D5A27
   - Accent (Black):   #1A2E17
   - Secondary (Gray): #F7F3ED
   - Text Dark:        #2C3333
   - Text Light:       #555555
   ========================================================================== */

:root {
    /* === UNIFIED VARIABLES (used by both theme and plugin) === */
    --dm-primary: #2D5A27;
    --dm-secondary: #F7F3ED;
    --dm-accent: #C9A96E;
    --dm-text-dark: #2C3333;
    --dm-text-light: #555;

    /* Legacy aliases (for backward compatibility) */
    --rn-red: var(--dm-primary);
    --rn-black: var(--dm-accent);
    --rn-gray: var(--dm-secondary);

    /* Typography */
    --font-heading: "Impact", "Arial Black", sans-serif;
    --rn-font-heading: 'Playfair Display', serif;
}

/* === GLOBAL RESETS === */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* === SIDEBAR MENU === */
.sidebar-menu {
    font-size: 120%;
    font-weight: bold;
    text-transform: uppercase;
}

/* === AGGRESSIVE WIDGET STYLING (Hybrid: sharp edges + clean inside) === */
.widget {
    background: #fff;
    padding: 20px;
    border: 2px solid var(--dm-accent);
    border-radius: 0;
    box-shadow: 4px 4px 0px var(--dm-secondary);
    margin-bottom: 30px;
}

.widget-title {
    font-family: 'Playfair Display', serif;
    text-transform: uppercase;
    font-size: 1.2rem;
    border-bottom: 4px solid var(--dm-primary);
    padding-bottom: 10px;
    margin-bottom: 20px;
    color: var(--dm-accent);
}

.flatsome_recent_posts span.post_comments {
    display: none;
}

/* === BUTTONS (Aggressive: square, bold) === */
.button,
.btn,
input[type="submit"] {
    border-radius: 0;
    text-transform: uppercase;
    font-weight: 800;
}

/* === HOME HERO CLEANUP === */
body.home .hero-dynamic-wrapper .box-text {
    display: none;
}

body.home .hero-dynamic-wrapper .box {
    box-shadow: none;
    background: transparent;
}

/* === EDITORIAL TEXT BLOCKS (Policy, Offer pages) === */
.editorial-text-block h3 {
    font-size: 1.4rem;
    font-weight: 800;
    margin-top: 40px;
    margin-bottom: 15px;
    color: var(--dm-accent);
}

.editorial-text-block ul {
    list-style: none;
    padding-left: 20px;
    border-left: 2px solid #eee;
}

.editorial-text-block li {
    margin-bottom: 10px;
    font-size: 1rem;
    color: #444;
}

/* === MOBILE === */
@media (max-width: 768px) {
    .widget {
        box-shadow: none;
        border-width: 1px;
    }

    .hero-static-layer h1 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .hero-static-layer {
        align-items: flex-end;
        padding-bottom: 100px;
    }

    .hero-static-layer .col {
        padding-left: 20px;
        padding-right: 20px;
    }
}
/* ═══ SM STRUMYK – Menu Glyphs v1 ═══ */

/* ────────────────────────────────────────────────
   MOBILE MENU — Гліфи для головних категорій
   Інжектуються через ::before + data-uri SVG
   Селектори: nav-mobile + menu-item-{object_id}
   ──────────────────────────────────────────────── */

/* Загальний стиль гліфу (мобільне меню) */
.nav-mobile li.menu-item-has-children > a::before {
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: "";
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.35s ease;
  opacity: 0.75;
  position: relative;
  top: -1px;
}
.nav-mobile li.menu-item-has-children > a:hover::before,
.nav-mobile li.menu-item-has-children.active > a::before {
  transform: scale(1.18) translateY(-1px);
  opacity: 1;
}

/* Tekstylia i Atmosfera — хвильовий гліф (≋ + water) */
.nav-mobile li.menu-item-3993 > a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3 8 Q6 5 9 8 Q12 11 15 8 Q18 5 21 8' stroke='%235a7a45' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M3 13 Q6 10 9 13 Q12 16 15 13 Q18 10 21 13' stroke='%237ab8c4' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M3 18 Q6 15 9 18 Q12 21 15 18 Q18 15 21 18' stroke='%235a7a45' stroke-width='1.4' stroke-linecap='round' opacity='0.6'/%3E%3C/svg%3E");
}

/* Salon i Lounge — діамант-рамка */
.nav-mobile li.menu-item-3997 > a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3 L21 12 L12 21 L3 12 Z' stroke='%235a7a45' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M12 7 L17 12 L12 17 L7 12 Z' stroke='%237ab8c4' stroke-width='1.4' stroke-linejoin='round' opacity='0.7'/%3E%3C/svg%3E");
}

/* Sprytne Przechowywanie — сітка/модульна */
.nav-mobile li.menu-item-4003 > a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='3' width='7' height='7' rx='1' stroke='%235a7a45' stroke-width='1.8'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1' stroke='%235a7a45' stroke-width='1.8'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1' stroke='%237ab8c4' stroke-width='1.8'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1' stroke='%237ab8c4' stroke-width='1.8' opacity='0.6'/%3E%3C/svg%3E");
}

/* Ogród i Taras — листок-гілка */
.nav-mobile li.menu-item-4007 > a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 21 C12 21 4 17 4 10 C4 6 7.5 3 12 3 C16.5 3 20 6 20 10 C20 17 12 21 12 21Z' stroke='%235a7a45' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M12 21 L12 10' stroke='%237ab8c4' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpath d='M12 15 L8 11' stroke='%235a7a45' stroke-width='1.2' stroke-linecap='round' opacity='0.7'/%3E%3Cpath d='M12 12 L16 8' stroke='%235a7a45' stroke-width='1.2' stroke-linecap='round' opacity='0.7'/%3E%3C/svg%3E");
}

/* Inteligentny Dom — будиночок */
.nav-mobile li.menu-item-4010 > a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpolyline points='3,11 12,3 21,11' stroke='%235a7a45' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'/%3E%3Cpath d='M5 11 L5 20 L19 20 L19 11' stroke='%235a7a45' stroke-width='1.8' stroke-linejoin='round'/%3E%3Crect x='9' y='14' width='6' height='6' stroke='%237ab8c4' stroke-width='1.4' rx='0.5'/%3E%3Crect x='6' y='13' width='4' height='4' rx='0.5' stroke='%235a7a45' stroke-width='1.2' opacity='0.7'/%3E%3C/svg%3E");
}

/* ────────────────────────────────────────────────
   DESKTOP MENU — Гліфи + Анімації
   Мох→Потік колір, wave-float на hover
   ──────────────────────────────────────────────── */

/* Десктоп: загальний стиль */
.nav .nav-item-depth-0 > a .sm-menu-glyph,
.nav .nav-item-depth-0 > a::before {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 7px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: "";
  transition:
    transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
    filter 0.4s ease,
    opacity 0.35s ease;
  opacity: 0.65;
  position: relative;
  top: -1px;
}

/* Анімація hover: wave-float (натхнення — хвилі логотипу) */
@keyframes sm-glyph-float {
  0%   { transform: translateY(0px) rotate(0deg); }
  33%  { transform: translateY(-3px) rotate(2deg); }
  66%  { transform: translateY(-1px) rotate(-1.5deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

.nav .nav-item-depth-0 > a:hover::before {
  animation: sm-glyph-float 0.7s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  filter: brightness(1.3) saturate(1.3);
  opacity: 1;
}
.nav .current-menu-item > a::before,
.nav .current-menu-ancestor > a::before {
  opacity: 1;
  filter: brightness(1.2) saturate(1.2);
}

/* Десктоп: гліфи для кожної категорії (ті ж SVG data-uri) */
.nav li.menu-item-59482 > a::before, /* Ergonomia Przestrzeni */
.nav li[class*="menu-item-3993"] > a::before { /* Tekstylia */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3 8 Q6 5 9 8 Q12 11 15 8 Q18 5 21 8' stroke='%235a7a45' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M3 13 Q6 10 9 13 Q12 16 15 13 Q18 10 21 13' stroke='%237ab8c4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ────────────────────────────────────────────────
   ACCORDION FIX — Всі `menu-item-has-children`
   в nav-mobile отримують toggle button
   ──────────────────────────────────────────────── */

/* Переконатись що toggle-кнопка видима (Flatsome її ховає для деяких location) */
.nav-mobile .menu-item-has-children > .nav-toggle,
.nav-mobile .menu-item-has-children > span.nav-toggle {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Sub-menu прихований за замовчуванням, показується при .active */
.nav-mobile .menu-item-has-children > ul.sub-menu {
  display: none;
  padding-left: 30px;
}
.nav-mobile .menu-item-has-children.active > ul.sub-menu,
.nav-mobile .menu-item-has-children.open > ul.sub-menu {
  display: block;
}

/* ═══ END SM STRUMYK Menu Glyphs ═══ */