/**
Theme Name: Astra-child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


/*
 ----------------------------------------------------------------------------------------------------------
   							Album Gallery
 ----------------------------------------------------------------------------------------------------------
*/
.swiper-zoom-container{
	display: none !important;
}

#elementor-lightbox-slideshow-single-img{
	display: none !important;
}

.gallery-title {
    text-align: center;
    margin-top: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.group:after{
	content: "" !important;
}

.pbCaptionText .title {
	display: none !important;
}

.stack:last-of-type {
  width: 150px;
  height: 150px;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
}


img.animated{
	max-width: 150px;
	max-height: 150px;
}

.stack.twisted:before{
	-webkit-transform: rotate(10deg);
	-moz-transform: rotate(10deg);
	transform: rotate(3deg) !important;
}

.stack.twisted:after{
	-webkit-transform: rotate(-10deg);
	-moz-transform: rotate(-10deg);
	transform: rotate(1deg) !important;
}

.group, .stack {
  margin: 0 auto !important;
  display: inline-block;
}

.group, .stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.moshfeghstyle {
    width: 150px;          
    text-align: center;
    line-height: 1.4;
    margin-top: 8px;
    white-space: normal;
}

/*
 ----------------------------------------------------------------------------------------------------------
   							Read more and read less
 ----------------------------------------------------------------------------------------------------------
*/
.expandable-container {
  position: relative;
  max-height: 350px;
  overflow: hidden;
  transition: max-height 0.5s ease; 
}

@media (max-width: 768px) {
  .expandable-container {
    max-height: 250px;
  }
}

.expandable-container.expanded {
  max-height: none; 
}

.expandable-container::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 150px;
  background: linear-gradient(
  	to bottom,
  	rgba(215, 240, 250, 0) 0%,
  	rgba(215, 240, 250, 0.3) 30%,
  	rgba(215, 240, 250, 0.6) 60%,
  	rgba(215, 240, 250, 0.9) 85%,
  	rgba(215, 240, 250, 1) 100%
  );
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.expandable-container.expanded::after {
  opacity: 0;
}

.expand-button {
  display: block;
  margin: 50px auto;
  padding: 0px 30px;
  background: #201446;
  color: #23baad;
  border-radius: 5px;
  font-size: 16px;
  font-family: inherit;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.expand-button:hover {
  background: #23baad;
	color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.expand-button::after {
  content: ' ▼';
  display: inline-block;
  transition: transform 0.3s ease;
  margin-right: 8px;
}

.expand-button.expanded::after {
  transform: rotate(180deg);
}


/*
 ----------------------------------------------------
  Menu effects
 ----------------------------------------------------
*/

.hfe-flyout-container {
    transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.hfe-flyout-container.hfe-flyout-open {
    transform: translateX(0);
}

.hfe-flyout-overlay {
    background: transparent !important; 
    pointer-events: auto !important;    
}

.hfe-flyout-container.hfe-flyout-close {
    transform: translateX(-100%);
    transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1); 
}

.hfe-flyout-left.hfe-flyout-open .hfe-flyout-content.push,
.hfe-flyout-left.hfe-flyout-open .hfe-flyout-content.slide {
    transform: translateX(0);
    transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

/*
 ----------------------------------------------------
  contact forms 7 styles
 ----------------------------------------------------
*/
.wpcf7-response-output {
  background: transparent !important;
  color: black  !important;
}

fieldset.hidden-fields-container{
	display: none !important;
}

span.wpcf7-list-item {display: block;}

.danesh-form-container, .danesh-form-container * {
    box-sizing: border-box;
}

.danesh-form-container fieldset {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    margin: 0 0 20px 0;
}

.danesh-form-container legend {
    font-weight: bold;
    color: #333;
    padding: 0 10px;
    margin-left: 10px;
    font-size: 1.1em;
}

/* The Grid Layout for Laptop/Tablet
  We use CSS Grid for a robust two-column layout.
*/
.danesh-form-container .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Two equal columns */
    gap: 20px; 						/* Space between columns */
    margin-bottom: 15px;
}

/* Forcing the label and input to be a single unit */
.danesh-form-container .danesh-form-col {
    display: flex;
    flex-direction: column;
    gap: 6px; 
    margin-bottom: 15px; 
}

/* Force labels to have NO bottom margin
  This is key to making them "stick" to the input field.
*/
.danesh-form-container label {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 0 !important; 
}

/* General styles for all input fields */
.danesh-form-container input[type="text"],
.danesh-form-container input[type="email"],
.danesh-form-container input[type="tel"],
.danesh-form-container input[type="date"],
.danesh-form-container textarea,
.danesh-form-container select {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-top: 0; 
    font-size: 14px;
}

/* Spanning a column across the full width */
.danesh-form-container .danesh-form-col.full-width {
    grid-column: 1 / -1; /* Span from the first to the last grid line */
}

/* Styles for checkboxes and radio buttons */
.danesh-form-container .wpcf7-list-item {
    margin: 5px 15px 5px 0;
}
.danesh-form-container .wpcf7-list-item-label {
    font-weight: normal;
}

/* Submit button style */
.danesh-form-container input[type="submit"] {
    background-color: #201446;
    color: #23baad;
    padding: 15px 25px;
    border-radius: 5px;
    font-size: 16px;
    width: auto;
}
.danesh-form-container input[type="submit"]:hover {
    background-color: #23baad;
	color: #ffffff;
}

.terms-list-contact7 {
    list-style: disc;
    padding-left: 20px;
    margin: 5px 20px;
    color: #555;
}

.terms-list-contact7 li {
    margin-bottom: 3px;
}

.highlight-contact7 {
    font-weight: bold;
    color: #c0392b;
}

.danesh-h-field {
    position: absolute;
    left: -9999px;
    top: -9999px;
    opacity: 0;
}

@media (max-width: 768px) {
    .danesh-form-container .form-row {
        display: flex;
        flex-direction: column;
        gap: 0; /* Reset gap on the row */
        margin-bottom: 0; /* Reset margin on the row */
    }

    .danesh-form-container .danesh-form-col {
        margin-bottom: 20px; 
    }
}

/*
 ----------------------------------------------------------------------------------------------------------
   							Sina Flipbox
 ----------------------------------------------------------------------------------------------------------
*/
.sina-flipbox-back.sina-flipbox-effect-h-flip{
	display: flex;
	align-items: center;
} 

/*
 ----------------------------------------------------------------------------------------------------------
   							mobile show
 ----------------------------------------------------------------------------------------------------------
*/

/* مهار اسلایدر و محتوای بیرون‌زده در موبایل */
.owl-stage-outer, .owl-stage {
    max-width: 100vw !important;
}

/* اصلاح ویدیوهای پس‌زمینه المنتور که عرض ثابت می‌گیرند */
.elementor-background-video-embed {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
}

/* جلوگیری از خروج کلی محتوا */
body, html {
    overflow-x: hidden !important;
    width: 100%;
}