/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
h4 {margin:40px 0 10px}
ul, ol {margin-bottom:30px; padding-left:20px}
br {
    display: inline !important;
    content: "" !important;
}


.animated-line-wrapper {
  width: 100%;
  position: relative;
  height: 20px;
  margin: 30px 0; 
}

.animated-line {
  position: relative;
  width: 100%;
  height: 20px; 
}

.animated-line .line {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 2px;
  background-color: #FF6B4A;
  width: 0;
  transition: width 2s ease;
}

.animated-line .dot {
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  background-color: #FF6B4A;
  border-radius: 50%; 
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 2;
}

.animated-line .d1 { left: 0%; }
.animated-line .d2 { left: 25%; }
.animated-line .d3 { left: 50%; }
.animated-line .d4 { left: 75%; }

.animated-line.active .dot.visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.line1 .animated-line .line, .line1 .animated-line .dot {background-color: #9CA3AF;}

@media (max-width: 767px) {
  .animated-line-wrapper {
    display: none;
  }
}


a.ref{font-size: 0.85em; font-weight: 600; color:inherit}
a.ref:hover{color:#ccc}

.a4-sheet {
    aspect-ratio: 210 / 297;}

.a4-frame {
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: 10px;
  left: 10px;
  border-radius:4px;
  border: 1px solid #F9FAFB;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  }
  
.a4{font-size:30px; line-height:1; margin-top:20px}
.accent{color:#FF6B4A}

@media(max-width:1023px){.a4{font-size:24px}}
@media(min-width:767px){.hero br{display:none}}


/*EXIF Analyzer*/
#analyze-btn{
	border:none!important;
}

#analyze-btn:hover, #analyze-btn:focus{
	color:#1f2937;
	background-color: #FF6B4A!important
}

.exoftable{width:50%;padding:4px 8px;box-sizing:border-box;max-width:100%;white-space:normal;word-wrap:break-word;overflow-wrap:anywhere;word-break:break-word;}


/*[acf_features]*/
/* Main container styles */
.acf-features-container {
    width: 100%;
    position: relative;
}

/* Desktop version */
.features-desktop {
    display: block;
}

.feature-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 60px;
}

.feature-row:last-child {
    margin-bottom: 0;
}

.feature-image {
    flex: 0 0 45%;
}

.feature-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Remove hover zoom effect */
.feature-image img:hover {
    transform: none;
}

.feature-description {
    flex: 0 0 50%;
    padding: 30px;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    min-height: 200px;
    display: flex;
    align-items: center;
}

.description-bg-number {
    position: absolute;
    font-size: 60px;
    font-weight: bold;
    opacity: 0.15;
    color: #000;
    z-index: 0;
    line-height: 1;
    top: 10px;
}

/* Default positioning for odd items (image-left, description-right) */
.feature-row.odd .feature-image {
    order: 1;
}

.feature-row.odd .feature-description {
    order: 2;
}

.feature-row.odd .description-bg-number {
    right: 20px;
}

/* Positioning for even items (image-right, description-left) */
.feature-row.even .feature-image {
    order: 2;
}

.feature-row.even .feature-description {
    order: 1;
}

.feature-row.even .description-bg-number {
    left: 20px;
}

.description-text {
    position: relative;
    z-index: 1;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    width: 100%;
}

/* Mobile slider - hidden on desktop */
.features-mobile-slider {
    display: none;
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
}

/* Slides */
.slide-item {
    display: none;
    flex-direction: column;
    width: 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.slide-item.active {
    display: flex;
    opacity: 1;
}

.slide-image {
    width: 100%;
    margin-bottom: 20px;
}

.slide-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.slide-description {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 25px;
    position: relative;
    overflow: hidden;
    min-height: 180px;
    display: flex;
    align-items: center;
}

.slide-bg-number {
    position: absolute;
    font-size: 50px;
    font-weight: bold;
    opacity: 0.15;
    color: #000;
    z-index: 0;
    line-height: 1;
    top: 10px;
    right: 20px;
}

.slide-text {
    position: relative;
    z-index: 1;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    width: 100%;
}

/* Slider navigation */
.slider-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
    gap: 20px;
}

.slider-prev,
.slider-next {
    background: transparent !important;
    border: none !important;
    border-radius: 0;
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    padding: 0;
    margin: 0;
    box-shadow: none !important;
}

/* Force transparent background for icons */
.slider-prev img,
.slider-next img {
    width: 24px;
    height: 24px;
    background: transparent !important;
}

.slider-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-grow: 1;
}

.slider-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ddd;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.slider-dot.active {
    background-color: #0073aa;
}

.slider-dot:hover {
    background-color: #005a87;
}

/* Slide counter */
.slide-counter {
    text-align: center;
    margin-top: 20px;
    font-size: 18px;
    color: #333;
    font-weight: 500;
    display: block;
}

.current-slide {
    color: #0073aa;
    font-weight: bold;
}

.total-slides {
    color: #666;
}

/* Responsive styles */
@media (max-width: 1024px) {
    /* Mobile version - up to 1024px */
    .features-desktop {
        display: none;
    }
    
    .features-mobile-slider {
        display: block;
    }
    
    /* For screens below 1024px but above mobile breakpoint */
    @media (min-width: 769px) and (max-width: 1024px) {
        .features-desktop {
            display: block;
        }
        
        .features-mobile-slider {
            display: none;
        }
        
        .feature-row {
            flex-direction: row;
        }
        
        /* Odd items: image left, description right */
        .feature-row.odd .feature-image {
            order: 1;
        }
        
        .feature-row.odd .feature-description {
            order: 2;
        }
        
        /* Even items: image right, description left */
        .feature-row.even .feature-image {
            order: 2;
        }
        
        .feature-row.even .feature-description {
            order: 1;
        }
    }
}

@media (max-width: 1024px) {
    /* Mobile specific styles (for screens <= 768px) */
    @media (max-width: 768px) {
        .features-desktop {
            display: none;
        }
        
        .features-mobile-slider {
            display: flex;
            flex-direction: column;
        }
        
        /* Move slider navigation to top */
        .features-mobile-slider .slider-nav {
            order: -1;
            margin-top: 0;
            margin-bottom: 20px;
        }
        
        /* Hide slide counter on mobile */
        .slide-counter {
            display: none !important;
        }
        
        /* Remove button styles for navigation buttons */
        .slider-prev,
        .slider-next {
            background: transparent !important;
            border: none !important;
            outline: none !important;
            box-shadow: none !important;
            appearance: none !important;
        }
        
        .slider-prev:hover,
        .slider-next:hover {
            background: transparent !important;
            border: none !important;
        }
        
        /* Force transparent background for icons */
        .slider-prev img,
        .slider-next img {
            background: transparent !important;
        }
        
        .feature-row {
            flex-direction: column;
            gap: 20px;
        }
        
        .feature-image,
        .feature-description {
            flex: 0 0 100%;
            width: 100%;
        }
        
        .slider-nav {
            padding: 0 10px;
        }
    }
}

@media (max-width: 768px) {
    .feature-description {
        min-height: 180px;
        padding: 20px;
    }
    
    .description-bg-number {
        font-size: 50px;
    }
    
    .slide-description {
        padding: 20px;
        min-height: 160px;
    }
    
    .slide-bg-number {
        font-size: 40px;
    }
    
    .slider-prev img,
    .slider-next img {
        width: 20px;
        height: 20px;
    }
}


/* =========================
   MOBILE STACK MODE
   ========================= */

.features-mobile-stack {
    display: none;
}

.stack-item {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
}

.stack-item:last-child {
    margin-bottom: 0;
}

.stack-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.stack-description {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 25px;
    position: relative;
    overflow: hidden;
    min-height: 160px;
    display: flex;
    align-items: center;
}

.stack-bg-number {
    position: absolute;
    font-size: 48px;
    font-weight: bold;
    opacity: 0.15;
    color: #000;
    top: 10px;
    right: 20px;
    line-height: 1;
}

.stack-text {
    position: relative;
    z-index: 1;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    width: 100%;
}

/* =========================
   RESPONSIVE SWITCHING
   ========================= */

@media (max-width: 1024px) {

    .acf-features-container[data-mobile-mode="stack"] .features-desktop {
        display: none;
    }

    .acf-features-container[data-mobile-mode="stack"] .features-mobile-slider {
        display: none;
    }

    .acf-features-container[data-mobile-mode="stack"] .features-mobile-stack {
        display: block;
    }
}

@media (max-width: 768px) {

    .stack-description {
        padding: 20px;
        min-height: 140px;
    }

    .stack-bg-number {
        font-size: 40px;
    }
}



/*Exif analyzer*/
.refresh-via-home{background-color:#1E2B58;
color:#fff!important;
padding:10px 20px;
border-radius:4px;
font-size:14px}

#ea-overlay {
position: fixed;
left: 0; top: 0; right: 0; bottom: 0;
background: rgba(0,0,0,0.45);
display: none;
align-items: center;
justify-content: center;
z-index: 99999;
}
#ea-overlay .ea-box {
background: #fff;
padding: 18px 22px;
border-radius: 8px;
max-width: 90%;
width: 420px;
text-align: center;
box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}
#ea-overlay .ea-dots { font-weight:700; margin-left:6px; display:inline-block; width:48px; text-align:left; }

.download, a.pm-pdf-btn{border:none; margin-top:12px; padding:10px 14px;} .download:hover, .download:focus, a.pm-pdf-btn:hover, a.pm-pdf-btn:focus{background-color:#FF6B4A!important; color:#1E2B58}

/*adv-tiles*/
.adv-tiles-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.adv-tile {
    position: relative;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 16px;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px; /* одинаковая высота */
    box-sizing: border-box;
}

.adv-tile-number {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 60px;
    font-weight: bold;
    opacity: 0.15;
    color: #000;
}

.adv-tile-description {
    text-align: center;
}

/* Адаптивность */
@media screen and (max-width: 1024px) {
    .adv-tiles-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 640px) {
    .adv-tiles-container {
        grid-template-columns: 1fr;
    }
}
