.scarf-intro {
    display: flex;
    gap: 2rem;
    margin: 2rem auto;
    max-width: 1200px;
    padding: 1rem;
    align-items: flex-start;
    position: relative;
    transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
}

/* loader section */

/* Стилі для завантажувального оверлея (#loading-overlay) */
#loading-overlay {
    position: absolute; /* Позиціонується відносно .page-template */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8); /* Напівпрозорий білий фон */
    display: flex; /* Для центрування спінера */
    justify-content: center; /* Центрування по горизонталі */
    align-items: center;   /* Центрування по вертикалі */
    /* Z-index повністю ВІДСУТНІЙ.
       #loading-overlay перекриває #scarf-intro, бо воно знаходиться після нього в HTML
       і є абсолютно позиціонованим всередині того ж відносного батька. */
    transition: opacity 0.5s ease-out, visibility 0.5s ease-out; /* Плавне зникнення */

    /* За замовчуванням оверлей ВИДИМИЙ.
       Ці властивості гарантують, що він буде активний з самого початку завантаження сторінки. */
    opacity: 1;
    visibility: visible;
}

/* Клас 'hidden', який буде доданий JavaScript'ом для приховування оверлея */
#loading-overlay.hidden {
    opacity: 0;           /* Робить елемент повністю прозорим */
    visibility: hidden;   /* Прихований */
    pointer-events: none; /* Не реагує на кліки */
}

/* Стилі для спінера */
.spinner {
    border: 8px solid #f3f3f3; /* Легка сіра межа */
    border-top: 8px solid #3498db; /* Синя "рухома" частина */
    border-radius: 50%; /* Робить його круглим */
    width: 60px;
    height: 60px;
    animation: spin 1s linear infinite; /* Анімація обертання */
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* gallery section */

.scarf-gallery-description {
    flex: 0 1 60%;
    display: flex;
    flex-direction: column;
}

.scarf-gallery {
    display: flex;
    flex-direction: row;
    height: 500px;
}
 
.scarf-description {
    width: 100%;
    padding-top: 2rem;
}

.scarf-sidebar {
    flex: 0 1 40%;
    align-self: flex-start;
    border: 1px solid #eee;
    padding: 1rem;
    background: #fff;
    box-sizing: border-box; /* Good practice for sizing */
    /*z-index: 10;*/
}

.scarf-sidebar.is-sticky {
    position: fixed;
    top: 20px;
}

.scarf-sidebar.is-at-bottom {
    position: absolute;
    bottom: 0;
}

.price-summary {
    width: 100%;
    margin-top: 1.5rem;
}
.price-summary>div {
    float: left;
    text-align: center;
}
.price-summary h3 {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
}
#price-column { width: 7rem; text-align: center; }
#quantity-column { width: 10rem; text-align: center; }
#total-column { width: 10rem; text-align: center; }
#price-description { width: 15rem; color: #8898AB; font-size: 75%; font-weight: 555; text-align: left; }
#need-more { color: #637B95; }

.price-value {
    margin-top: 0.7em;
    font-size: 1.5rem;
}
.scarf-sidebar input.qty {
    width: 60px;
    text-align: center;
    padding: 9px 14px;
    margin: 0 auto;
}
.scarf-sidebar .button-main {
	background-color: #2E2157;
	border: 1px solid #2E2157;
	box-shadow: 0px 2px 4px rgba(237, 212, 210, 0.2), inset 0px 1px 1px rgba(255, 255, 255, 0.7);
	padding: 11px 10px;
	color: #ffffff;
	/*font-size: 13px;*/ font-size: 14px; font-weight: bold;
	border-radius: 30px;
	padding-left: 1.5em;
	padding-right: 1.5em;
        line-height: 140%;
}
.scarf-sidebar .button-main:hover {
	background-color: #372563;
}
.variations_form .quantity,
.variations_form .single_variation_wrap {
    display: none !important;
}
.action-buttons { clear: both; padding-top: 1.5rem; }
.action-buttons div { display: inline-block; margin-bottom: 1em; margin-left: 1em; margin-right: 1em;}
.learn-link {margin-top: -2.5em;}
.reset_variations { font-size: 80%; }
#add-to-cart { padding-left: 1.5em; padding-right: 1.5em; margin-right: 1.5em; }
.added_to_cart {}
#minimal-price { background-color: #f2f2f2; font-size: 120%; border-bottom: 1px solid #b1b1b1; padding: 0.75em; margin: 0.5em 0 1.5em; }
.variations tr { margin-bottom: 1em!important; }
