/*
Theme Name: Beauty Gift
Description: Beauty Gift storefront, child theme of Astra.
Template: astra
Version: 1.0.0
Text Domain: beauty-gift
*/

:root {
    --bg-white: #ffffff;
    --bg-pink: #f7ebe8;
    --bg-blush: #fadadd;
    --bg-ink: #2c2c2c;
    --bg-gold: #d4af37;
    --bg-line: #e8e1df;
}

body { color: var(--bg-ink); background: var(--bg-white); font-family: 'Montserrat', sans-serif; letter-spacing: 0; }
h1, h2, h3, .bg-brand { font-family: 'Playfair Display', serif; color: var(--bg-ink); letter-spacing: 0; }
a { color: #725b16; }
a:hover { color: var(--bg-ink); }
button, input, select, textarea { font: inherit; }
button, .button, .wp-element-button, input[type=submit], .woocommerce a.button, .woocommerce button.button.alt { background: var(--bg-gold); color: #24200f; border-radius: 2px; border: 1px solid var(--bg-gold); font-weight: 600; }
button:hover, .button:hover, .wp-element-button:hover, input[type=submit]:hover, .woocommerce a.button:hover, .woocommerce button.button.alt:hover { background: #c29c28; color: #19170e; }
:focus-visible { outline: 3px solid #725b16; outline-offset: 4px; }
.bg-wrap { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.bg-announcement { padding: 9px 20px; text-align: center; background: var(--bg-pink); font-size: 12px; }
.bg-header { border-bottom: 1px solid var(--bg-line); background: white; }
.bg-header-inner { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.bg-brand { text-decoration: none; font-size: 30px; line-height: 1.1; white-space: nowrap; }
.bg-brand small { display: block; font: 10px 'Montserrat', sans-serif; text-align: center; margin-top: 8px; text-transform: uppercase; letter-spacing: 2px; }
.bg-nav ul { display: flex; align-items: center; gap: 25px; margin: 0; padding: 0; list-style: none; }
.bg-nav a { color: var(--bg-ink); text-decoration: none; font-size: 13px; }
.bg-nav a:hover, .bg-nav .current-menu-item > a { text-decoration: underline; text-underline-offset: 6px; }
.bg-tools { display: flex; gap: 18px; align-items: center; }
.bg-tools a { color: var(--bg-ink); display: flex; gap: 5px; align-items: center; }
.bg-tools svg { width: 22px; height: 22px; }
.bg-tools .bg-cart-count { font-size: 12px; }
.bg-tools .dashicons { width: 24px; height: 24px; font-size: 24px; }
.bg-menu-toggle { display: none; padding: 8px; background: transparent; border: 0; color: var(--bg-ink); }
.bg-menu-toggle svg { width: 24px; height: 24px; }
body .site-content > .ast-container { max-width: 1200px; }
body.home .site-content > .ast-container { max-width: none; padding: 0; display: block; }
body.home #primary { margin: 0; padding: 0; width: 100%; }
body.home article { padding: 0 !important; margin: 0 !important; }
body.home .entry-header { display: none; }
body.home .entry-content > * { max-width: none; }
.bg-hero { position: relative; min-height: 580px; display: grid; align-items: center; background: #f7ebe8; overflow: hidden; }
.bg-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bg-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.84) 32%, rgba(255,255,255,0) 70%); }
.bg-hero-content { position: relative; z-index: 1; padding-block: 80px; }
.bg-hero-content > * { max-width: 460px; }
.bg-eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 18px; }
.bg-hero h1 { font-size: 64px; line-height: 1.1; margin: 0 0 22px; }
.bg-hero p { line-height: 1.8; }
.bg-hero .button { display: inline-block; margin-top: 16px; padding: 16px 26px; text-decoration: none; }
.bg-section { padding-block: 64px; }
.bg-section-title { text-align: center; margin-bottom: 30px; }
.bg-section-title h2 { font-size: 36px; margin-bottom: 12px; }
.bg-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.bg-category { border-bottom: 1px solid var(--bg-line); padding: 30px 0; text-decoration: none; color: var(--bg-ink); }
.bg-category h3 { font-size: 30px; margin-bottom: 10px; }
.bg-category span { font-size: 13px; color: #725b16; }
.bg-category p { margin-bottom: 14px; }
.bg-featured { background: #fcf8f7; }
.bg-empty { text-align: center; padding: 28px 0; }
.bg-footer { border-top: 1px solid var(--bg-line); padding: 44px 0 24px; background: var(--bg-pink); }
.bg-footer-inner { display: flex; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.bg-footer nav { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; }
.bg-footer nav a { font-size: 13px; color: var(--bg-ink); }
.bg-footer-bottom { border-top: 1px solid #dbcac4; margin-top: 32px; padding-top: 20px; font-size: 11px; }
.bg-contact { max-width: 680px; margin: 25px 0; }
.bg-contact label { display: block; font-weight: 600; margin-bottom: 6px; }
.bg-contact input, .bg-contact textarea { width: 100%; border: 1px solid #a59c99; background: white; border-radius: 2px; }
.bg-contact textarea { min-height: 160px; resize: vertical; }
.bg-contact-field { margin-bottom: 20px; }
.bg-contact-trap { position: absolute; inset-inline-start: -9999px; }
.bg-notice { padding: 16px; border-inline-start: 3px solid #725b16; background: var(--bg-pink); }
.bg-shop-filters { padding: 22px; background: var(--bg-pink); display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin-bottom: 30px; }
.bg-shop-filters label { display: grid; gap: 5px; font-size: 13px; }
.bg-shop-filters input { width: 130px; }
.bg-shop-filters select { max-width: 250px; }
.bg-shop-filters button { padding: 12px 18px; }
.bg-hero-builder { min-height: 580px; display: flex; align-items: center; background-color: var(--bg-pink); }
.bg-hero-builder > .elementor-container { width: min(1200px, calc(100% - 48px)); }
.bg-hero-builder .elementor-widget-wrap { padding: 80px 0 !important; flex-direction: column; flex-wrap: nowrap; align-items: flex-start; }
.bg-hero-builder .elementor-widget { max-width: 480px; }
.elementor .bg-hero-builder .elementor-heading-title { font: 64px/1.1 'Playfair Display', serif; color: var(--bg-ink); }
.elementor .bg-hero-builder .elementor-widget-text-editor { font: 16px/1.8 'Montserrat', sans-serif; color: var(--bg-ink); }
.elementor .bg-hero-builder .elementor-button { background: var(--bg-gold); color: #24200f; border-radius: 2px; font: 600 14px 'Montserrat', sans-serif; padding: 18px 26px; }
.bg-hero-builder .elementor-background-overlay { background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.95) 25%, rgba(255,255,255,0) 75%); background-color: transparent !important; opacity: 1 !important; }
.bg-full-section > .elementor-container { max-width: none !important; }
.bg-full-section .elementor-widget-wrap { padding: 0 !important; }
html[dir=rtl] .bg-hero-builder .elementor-background-overlay { background: linear-gradient(270deg, #fff 0%, rgba(255,255,255,.95) 25%, rgba(255,255,255,0) 75%); }
html[dir=rtl] .bg-hero-builder { background-position: left center !important; }
html[dir=rtl] .bg-brand small { font-family: 'Noto Sans Hebrew', sans-serif; letter-spacing: 0; }
html[dir=rtl] .elementor .bg-hero-builder .elementor-button { font-family: 'Noto Sans Hebrew', sans-serif; }
html[dir=rtl] .elementor .bg-hero-builder .elementor-heading-title, html[dir=rtl] .elementor .bg-hero-builder .elementor-widget-text-editor { font-family: 'Noto Sans Hebrew', sans-serif; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 20px; }
.woocommerce ul.products li.product .price { color: #725b16; }
html[dir=rtl] .bg-hero::after { background: linear-gradient(270deg, rgba(255,255,255,.96), rgba(255,255,255,.84) 32%, rgba(255,255,255,0) 70%); }
html[dir=rtl] body { font-family: 'Noto Sans Hebrew', 'Montserrat', sans-serif; }
html[dir=rtl] h1, html[dir=rtl] h2, html[dir=rtl] h3 { font-family: 'Noto Sans Hebrew', sans-serif; }
@media (prefers-reduced-motion: no-preference) { .bg-hero-content { animation: bg-reveal .7s ease-out both; } @keyframes bg-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } }
@media (max-width: 900px) {
    .bg-header-inner { flex-wrap: wrap; gap: 18px; min-height: 88px; padding-block: 18px; }
    .bg-brand { font-size: 26px; }
    .bg-menu-toggle { display: inline-flex; }
    .bg-nav { display: none; width: 100%; order: 4; }
    .bg-nav.is-open { display: block; }
    .bg-nav ul { flex-direction: column; align-items: start; gap: 18px; padding-block: 12px; }
    .bg-tools { margin-inline-start: auto; }
    .bg-hero h1 { font-size: 48px; }
    .elementor .bg-hero-builder .elementor-heading-title { font-size: 48px; }
}
@media (max-width: 600px) {
    .bg-wrap { width: calc(100% - 32px); }
    .bg-hero { min-height: 520px; }
    .bg-hero-content { padding-block: 60px; }
    .bg-hero-content > * { max-width: 330px; }
    .bg-hero h1 { font-size: 42px; }
    .bg-hero-builder { min-height: 600px; background-position: right bottom !important; background-size: auto 55% !important; }
    html[dir=rtl] .bg-hero-builder { background-position: left bottom !important; }
    .bg-hero-builder > .elementor-container { width: calc(100% - 32px); }
    .bg-hero-builder .elementor-widget-wrap { padding: 38px 0 240px !important; }
    .elementor .bg-hero-builder .elementor-heading-title { font-size: 42px; }
    .bg-hero-builder .elementor-background-overlay, html[dir=rtl] .bg-hero-builder .elementor-background-overlay { background: linear-gradient(180deg, #fff 0%, #fff 40%, rgba(255,255,255,.15) 66%, transparent 100%); }
    .bg-hero::after, html[dir=rtl] .bg-hero::after { background: rgba(255,255,255,.86); }
    .bg-categories { grid-template-columns: 1fr; gap: 0; }
    .bg-section { padding-block: 42px; }
    .bg-section-title h2 { font-size: 30px; }
    .bg-tools { gap: 12px; }
    .bg-footer nav { gap: 18px; }
    .bg-shop-filters label, .bg-shop-filters select { width: 100%; max-width: none; }
}