/*
Theme Name: Kadence Child - Dance With Me Baby
Theme URI: https://dancewithmebaby.wedding
Template: kadence
Version: 1.0.0
Description: Wedding-themed child theme for Dance With Me Baby
Author: Dance With Me Baby
Text Domain: kadence-child
*/

/* ==============================================
   Google Fonts: Cormorant Garamond + Lato
   ============================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap');

/* ==============================================
   Wedding Color Palette Override
   ============================================== */
:root {
    /* Primary: Dusty Rose */
    --global-palette1: #c9a0a0;
    --global-palette2: #a87878;
    /* Text: Warm Charcoal */
    --global-palette3: #2d2028;
    --global-palette4: #4a3535;
    --global-palette5: #7a6060;
    --global-palette6: #9e8484;
    /* Backgrounds: Blush & Ivory */
    --global-palette7: #f5edee;
    --global-palette8: #fdf9f7;
    --global-palette9: #ffffff;
    /* Button system */
    --global-palette-btn-bg: #c9a0a0;
    --global-palette-btn-bg-hover: #a87878;
    --global-palette-btn: #ffffff;
    --global-palette-btn-hover: #ffffff;
    --global-palette-btn-sec-bg: #f5edee;
    --global-palette-btn-sec-bg-hover: #a87878;
    --global-palette-btn-sec: #2d2028;
    --global-palette-btn-sec-hover: #ffffff;
    /* Fonts */
    --global-heading-font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --global-body-font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ==============================================
   Typography
   ============================================== */
body {
    font-family: var(--global-body-font-family);
    color: var(--global-palette4);
    background-color: var(--global-palette8);
    font-size: 17px;
    line-height: 1.7;
    font-weight: 300;
    letter-spacing: 0.01em;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .site-title {
    font-family: var(--global-heading-font-family);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.25;
}

h1 { font-size: clamp(2rem, 5vw, 3.5rem); color: var(--global-palette3); }
h2 { font-size: clamp(1.6rem, 4vw, 2.5rem); color: var(--global-palette3); }
h3 { font-size: clamp(1.3rem, 3vw, 1.8rem); color: var(--global-palette3); }

/* Italic headings for elegance */
.dwmb-italic { font-style: italic; }

/* ==============================================
   Header
   ============================================== */
#masthead,
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.site-header-row-container):not(.site-main-header-wrap),
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
    background: rgba(253, 249, 247, 0.97) !important;
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(201, 160, 160, 0.2);
}

.site-main-header-inner-wrap {
    min-height: 72px;
}

/* Navigation */
.main-navigation .primary-menu-container > ul > li.menu-item > a {
    color: var(--global-palette5);
    font-family: 'Lato', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a {
    color: var(--global-palette1);
}

/* Dropdown menu */
.header-navigation .header-menu-container ul ul.sub-menu,
.header-navigation .header-menu-container ul ul.submenu {
    background: var(--global-palette3);
}

/* ==============================================
   Buttons - Elegant Wedding Style
   ============================================== */
/* Primary button base — scoped to specific button types to avoid over-styling */
.wp-block-button__link,
input[type="submit"],
.woocommerce-Button,
.checkout-button,
a.button,
.add_to_cart_button,
.single_add_to_cart_button {
    background-color: var(--global-palette1) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 2px !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 11px 28px !important;
    line-height: 1.4 !important;
    height: auto !important;
    box-sizing: border-box !important;
    display: inline-block !important;
    transition: background-color 0.3s ease, transform 0.2s ease !important;
    box-shadow: none !important;
    text-decoration: none !important;
    overflow: visible !important;
}

.wp-block-button__link:hover,
input[type="submit"]:hover,
.woocommerce-Button:hover,
a.button:hover,
.add_to_cart_button:hover,
.single_add_to_cart_button:hover {
    background-color: var(--global-palette2) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 15px rgba(168, 120, 120, 0.25) !important;
}

/* WooCommerce shop loop — compact product buttons */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
    padding: 9px 20px !important;
    font-size: 12px !important;
    width: auto !important;
    display: inline-block !important;
}

/* Single product add-to-cart — ensure text not clipped */
.woocommerce div.product form.cart .single_add_to_cart_button {
    padding: 11px 28px 11px 28px !important;
    line-height: 1.4 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

/* Outline / secondary button */
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent !important;
    border: 1.5px solid var(--global-palette1) !important;
    color: var(--global-palette1) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--global-palette1) !important;
    color: #fff !important;
}

/* ==============================================
   Hero / Cover Blocks
   ============================================== */
.wp-block-cover {
    min-height: 60vh;
}

.wp-block-cover .wp-block-cover__inner-container {
    padding: 4rem 2rem;
}

/* Page title hero */
.entry-hero .entry-header h1.entry-title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300;
    font-style: italic;
    font-size: clamp(1.8rem, 4.5vw, 3rem);
    color: var(--global-palette3);
    letter-spacing: 0.04em;
}

/* ==============================================
   Homepage Sections
   ============================================== */
/* Hero welcome section */
.dwmb-hero {
    background: linear-gradient(135deg, #fdf9f7 0%, #f5edee 50%, #fdf9f7 100%);
    padding: 5rem 2rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.dwmb-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('/wp-content/uploads/2023/02/dwmb-jenlodan.jpg') center/cover no-repeat;
    opacity: 0.08;
    z-index: 0;
}

.dwmb-hero > * {
    position: relative;
    z-index: 1;
}

/* Divider ornament */
.dwmb-ornament {
    text-align: center;
    color: var(--global-palette1);
    font-size: 1.5rem;
    margin: 1.5rem 0;
    letter-spacing: 0.5em;
    opacity: 0.7;
}

/* Song cards */
.dwmb-song-card {
    background: #ffffff;
    border: 1px solid rgba(201, 160, 160, 0.2);
    border-radius: 4px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dwmb-song-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(45, 32, 40, 0.1);
}

.dwmb-song-card .song-price {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2rem;
    font-weight: 300;
    color: var(--global-palette1);
    display: block;
    margin: 1rem 0;
}

.dwmb-song-card .song-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--global-palette3);
    margin-bottom: 0.5rem;
}

/* Feature icons */
.dwmb-feature {
    text-align: center;
    padding: 1.5rem;
}

.dwmb-feature-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    display: block;
}

/* Testimonial */
.dwmb-testimonial {
    background: var(--global-palette7);
    border-left: 3px solid var(--global-palette1);
    padding: 2rem 2.5rem;
    margin: 1.5rem 0;
    font-style: italic;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.15rem;
    line-height: 1.8;
    color: var(--global-palette4);
    border-radius: 0 4px 4px 0;
}

.dwmb-testimonial cite {
    font-style: normal;
    font-size: 0.9rem;
    font-family: 'Lato', sans-serif;
    color: var(--global-palette5);
    display: block;
    margin-top: 1rem;
    letter-spacing: 0.05em;
}

/* ==============================================
   WooCommerce Styling
   ============================================== */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--global-palette3);
}

.woocommerce ul.products li.product .price {
    color: var(--global-palette1);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.2rem;
}

.woocommerce ul.products li.product img {
    border-radius: 4px;
    transition: opacity 0.3s ease;
}

.woocommerce ul.products li.product:hover img {
    opacity: 0.92;
}

/* Product single page */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--global-palette1);
    font-family: 'Cormorant Garamond', serif;
    font-size: 2rem;
    font-weight: 400;
}

.woocommerce div.product .product_title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: 2.2rem;
    color: var(--global-palette3);
}

/* Cart & Checkout */
.woocommerce-cart table.cart,
.woocommerce-checkout .shop_table {
    font-family: 'Lato', sans-serif;
}

.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    color: var(--global-palette3);
}

/* Standardize product image sizes — consistent 1:1 aspect ratio */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product .woocommerce-placeholder {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center top;
    display: block;
}

/* ==============================================
   Footer
   ============================================== */
.site-footer {
    background-color: var(--global-palette3);
    color: rgba(253, 249, 247, 0.7);
}

.site-footer a {
    color: rgba(201, 160, 160, 0.9);
}

.site-footer a:hover {
    color: var(--global-palette1);
}

.site-footer .footer-widget-area,
.site-footer .site-footer-row-container {
    background-color: var(--global-palette3);
}

/* ==============================================
   Links
   ============================================== */
a {
    color: var(--global-palette1);
    transition: color 0.2s ease;
}

a:hover {
    color: var(--global-palette2);
}

/* ==============================================
   Content Area
   ============================================== */
.content-bg,
body.content-style-unboxed .site {
    background: var(--global-palette9);
}

/* Remove boxed shadow on single pages */
.entry.single-entry,
.entry.loop-entry {
    box-shadow: none;
    border-radius: 4px;
}

/* ==============================================
   Separation lines with ornament
   ============================================== */
.wp-block-separator {
    border-color: rgba(201, 160, 160, 0.3);
}

/* ==============================================
   Mobile Responsive
   ============================================== */
@media (max-width: 767px) {
    .dwmb-hero {
        padding: 3rem 1.5rem;
    }
    
    .wp-block-cover {
        min-height: 50vh;
    }
    
    h1 { font-size: 2rem; }
    h2 { font-size: 1.6rem; }
}
