/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.1.0
Text Domain: Avada
*/

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

:root {
    --awp-black: #0d0d0d;
    --awp-dark: #141414;
    --awp-mid: #1e1e1e;
    --awp-offwhite: #f5f4f1;
    --awp-cream: #ede9e3;
    --awp-gold: #b8965a;
    --awp-gold-light: #d4b47a;
    --awp-text-dark: #111111;
    --awp-text-muted: #888888;
    --awp-serif: 'Cormorant Garamond', Georgia, serif;
    --awp-sans: 'DM Sans', system-ui, sans-serif;
}

/* ── Global resets ── */
body {
    font-family: var(--awp-sans) !important;
    color: var(--awp-text-dark) !important;
    background: var(--awp-offwhite) !important;
}

h1, h2, h3, h4, h5, h6,
.fusion-title h1,
.fusion-title h2,
.fusion-title h3,
.fusion-title h4 {
    font-family: var(--awp-serif) !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
}

/* ── Top bar (announcement strip) ── */
#wrapper .fusion-top-header {
    display: none !important;
}

/* ── Header ── */
#wrapper .fusion-header-wrapper {
    background: var(--awp-black) !important;
    box-shadow: none !important;
    border-bottom: none !important;
}

.fusion-tb-header .fusion-fullwidth {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.fusion-tb-header .fusion-layout-column {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}

.fusion-header .fusion-logo a,
.fusion-header .fusion-logo img {
    filter: brightness(10) !important;
}

.fusion-main-menu > ul > li > a,
.fusion-main-menu > ul > li > a:hover,
.fusion-tb-header .awb-menu .fusion-menu > li > a {
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--awp-offwhite) !important;
}

.fusion-main-menu > ul > li > a:hover {
    color: var(--awp-gold) !important;
}

.fusion-header .fusion-social-links a,
.fusion-header .fusion-header-icon a {
    color: var(--awp-offwhite) !important;
}

/* Cart icon — hide it */
.fusion-header .fusion-secondary-header .cart-icon,
.fusion-header .fusion-cart-counter,
.fusion-woo-cart-container,
.fusion-menu-cart {
    display: none !important;
}

/* Search icon color */
.fusion-main-menu .fusion-main-menu-search > a,
.awp-header-icons a {
    color: var(--awp-offwhite) !important;
}

/* ── Allow full-width breakout on homepage template ── */
.page-template-page-tessario-home-php #boxed-wrapper {
    overflow-x: visible !important;
}

/* ── Break sections out of Avada's fusion-row container ── */
.awp_hero,
.awp_collections_section,
.awp_story_section,
.awp_cta_section {
    width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

/* ── Avada layout cleanup ── */
#awp_main .fusion-row,
#main > .fusion-row:has(#awp_main) {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
}

/* ── Homepage hero ── */
.awp_hero {
    height: 100vh;
    min-height: 600px;
    background: var(--awp-black);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.awp_hero_img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    z-index: 0;
}

.awp_hero_bg {
    position: absolute;
    inset: 0;
    background: rgba(10, 8, 6, 0.62);
    z-index: 1;
}

.awp_hero_bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 50%, rgba(184,150,90,0.08) 0%, transparent 60%);
}

.awp_hero_inner {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 40px;
}

.awp_hero_eyebrow {
    display: block;
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase;
    color: var(--awp-gold) !important;
    margin-bottom: 28px;
}

.awp_hero_brand {
    font-family: var(--awp-serif) !important;
    font-size: clamp(72px, 12vw, 180px) !important;
    font-weight: 300 !important;
    letter-spacing: 0.18em !important;
    line-height: 1 !important;
    color: var(--awp-offwhite) !important;
    margin: 0 0 32px !important;
    text-transform: uppercase;
}

.awp_hero_sub {
    font-family: var(--awp-sans) !important;
    font-size: 17px !important;
    font-weight: 300 !important;
    letter-spacing: 0.06em !important;
    color: rgba(245,244,241,0.65) !important;
    margin: 0 0 52px !important;
}

.awp_hero_cta {
    display: inline-block;
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase;
    color: var(--awp-offwhite) !important;
    border-bottom: 1px solid var(--awp-gold);
    padding-bottom: 4px;
    text-decoration: none !important;
    transition: color 0.3s, border-color 0.3s;
}

.awp_hero_cta:hover {
    color: var(--awp-gold) !important;
}

.awp_hero_scroll {
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.awp_hero_scroll span {
    font-family: var(--awp-sans) !important;
    font-size: 10px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase;
    color: rgba(245,244,241,0.35) !important;
}

.awp_hero_scroll_line {
    width: 1px;
    height: 40px;
    background: linear-gradient(to bottom, var(--awp-gold), transparent);
    animation: awp_scroll_pulse 2s ease-in-out infinite;
}

@keyframes awp_scroll_pulse {
    0%, 100% { opacity: 0.4; transform: scaleY(1); }
    50% { opacity: 1; transform: scaleY(1.2); }
}

/* ── Section base ── */
.awp_section {
    padding: 100px 60px;
    max-width: 1400px;
    margin: 0 auto;
}

.awp_section_full {
    padding: 100px 60px;
    width: 100%;
}

.awp_eyebrow {
    display: block;
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    color: var(--awp-gold) !important;
    margin-bottom: 20px;
}

.awp_section_title {
    font-family: var(--awp-serif) !important;
    font-size: clamp(36px, 4vw, 64px) !important;
    font-weight: 300 !important;
    line-height: 1.1 !important;
    color: var(--awp-text-dark) !important;
    margin: 0 0 24px !important;
}

.awp_section_title_light {
    color: var(--awp-offwhite) !important;
}

/* ── Collections section ── */
.awp_collections_section {
    background: var(--awp-offwhite);
    padding: 100px 60px;
}

.awp_collections_header {
    max-width: 1400px;
    margin: 0 auto 60px;
}

.awp_collections_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2px;
    max-width: 1400px;
    margin: 0 auto;
}

.awp_collection_tile {
    position: relative;
    aspect-ratio: 3/4;
    overflow: hidden;
    background: var(--awp-mid);
    display: block;
    text-decoration: none !important;
}

.awp_collection_tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: block;
}

.awp_collection_tile:hover img {
    transform: scale(1.04);
}

.awp_collection_tile_overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13,13,13,0.75) 0%, rgba(13,13,13,0.1) 50%, transparent 100%);
    transition: background 0.4s;
}

.awp_collection_tile:hover .awp_collection_tile_overlay {
    background: linear-gradient(to top, rgba(13,13,13,0.85) 0%, rgba(13,13,13,0.2) 60%, transparent 100%);
}

.awp_collection_tile_info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 36px 32px;
}

.awp_collection_tile_name {
    font-family: var(--awp-serif) !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    letter-spacing: 0.05em !important;
    color: var(--awp-offwhite) !important;
    margin: 0 0 8px !important;
    display: block;
}

.awp_collection_tile_count {
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase;
    color: var(--awp-gold) !important;
}

.awp_collection_tile_no_image {
    background: var(--awp-mid);
    display: flex;
    align-items: flex-end;
}

/* ── Brand story section ── */
.awp_story_section {
    background: var(--awp-black);
    padding: 120px 60px;
}

.awp_story_inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.awp_story_text {
    color: var(--awp-offwhite);
}

.awp_story_body {
    font-family: var(--awp-sans) !important;
    font-size: 17px !important;
    font-weight: 300 !important;
    line-height: 1.8 !important;
    color: rgba(245,244,241,0.7) !important;
    margin: 0 0 40px !important;
}

.awp_story_image_wrap {
    position: relative;
    aspect-ratio: 4/5;
    background: var(--awp-mid);
    overflow: hidden;
}

.awp_story_image_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.awp_story_image_placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.awp_story_image_placeholder span {
    font-family: var(--awp-serif) !important;
    font-size: 11px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase;
    color: rgba(245,244,241,0.2) !important;
}

/* ── Buttons ── */
.awp_btn_outline {
    display: inline-block;
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase;
    color: var(--awp-offwhite) !important;
    border: 1px solid rgba(245,244,241,0.3);
    padding: 14px 32px;
    text-decoration: none !important;
    transition: border-color 0.3s, color 0.3s;
}

.awp_btn_outline:hover {
    border-color: var(--awp-gold);
    color: var(--awp-gold) !important;
}

.awp_btn_gold {
    display: inline-block;
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase;
    color: var(--awp-black) !important;
    background: var(--awp-gold);
    padding: 16px 44px;
    text-decoration: none !important;
    transition: background 0.3s;
}

.awp_btn_gold:hover {
    background: var(--awp-gold-light);
    color: var(--awp-black) !important;
}

/* ── Contact CTA section ── */
.awp_cta_section {
    background: var(--awp-cream);
    padding: 120px 60px;
    text-align: center;
}

.awp_cta_section .awp_section_title {
    max-width: 600px;
    margin: 0 auto 40px !important;
}

/* ── Product request button ── */
.awp_product_contact {
    margin-top: 24px;
}

.awp_request_btn {
    display: inline-block;
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase;
    color: var(--awp-black) !important;
    background: var(--awp-gold);
    padding: 16px 40px;
    text-decoration: none !important;
    transition: background 0.3s;
    border: none;
}

.awp_request_btn:hover {
    background: var(--awp-gold-light);
    color: var(--awp-black) !important;
    text-decoration: none !important;
}

/* ── WooCommerce global overrides ── */
.woocommerce .price,
.woocommerce-Price-amount,
.woocommerce ul.products li.product .price {
    display: none !important;
}

.woocommerce ul.products li.product .button,
.woocommerce .single_add_to_cart_button,
.add_to_cart_button {
    display: none !important;
}

.woocommerce .woocommerce-breadcrumb {
    display: none !important;
}

/* Product card styling */
.woocommerce ul.products li.product {
    background: transparent;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--awp-serif) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0.03em !important;
    color: var(--awp-text-dark) !important;
}

.woocommerce ul.products li.product a img {
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.woocommerce ul.products li.product a:hover img {
    transform: scale(1.03) !important;
}

/* ── Contact page ── */
.awp_contact_page {
    max-width: 700px;
    margin: 80px auto;
    padding: 0 40px;
}

.awp_contact_page h1 {
    font-family: var(--awp-serif) !important;
    font-size: 56px !important;
    font-weight: 300 !important;
    margin-bottom: 16px !important;
}

.awp_contact_page .awp_contact_intro {
    font-size: 16px;
    font-weight: 300;
    color: var(--awp-text-muted);
    line-height: 1.7;
    margin-bottom: 48px;
}

/* ── Page title bar (breadcrumb strip) ── */
.fusion-page-title-bar {
    background: #1a1a1a !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(245,244,241,0.07) !important;
}

.fusion-page-title-bar .fusion-page-title-caption,
.fusion-breadcrumbs,
.fusion-breadcrumbs a,
.fusion-breadcrumbs span {
    font-family: var(--awp-sans) !important;
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
    color: rgba(245,244,241,0.4) !important;
}

.fusion-page-title-bar .fusion-page-title-row {
    padding: 14px 0 !important;
}

/* Hide the decorative wave/shape on page title bar */
.fusion-page-title-bar .fusion-page-title-bg-parallax,
.fusion-page-title-bar img {
    display: none !important;
}

/* ── Footer ── */
.fusion-tb-footer .fusion-builder-row-inner nav,
.fusion-tb-footer nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.fusion-tb-footer .fusion-builder-row-inner nav a,
.fusion-tb-footer nav a {
    display: block !important;
    transition: color 0.2s;
}

.fusion-tb-footer a:hover {
    color: var(--awp-gold) !important;
}

#wrapper .fusion-footer {
    background: var(--awp-black) !important;
    border-top: 1px solid rgba(245,244,241,0.07) !important;
}

#wrapper .fusion-footer-widget-area {
    background: var(--awp-black) !important;
}

#wrapper .fusion-footer-copyright-area {
    background: var(--awp-black) !important;
    border-top: 1px solid rgba(245,244,241,0.05) !important;
}

#wrapper .fusion-footer .widget-title,
#wrapper .fusion-footer a,
#wrapper .fusion-footer p,
#wrapper .fusion-copyright-notice {
    color: rgba(245,244,241,0.45) !important;
}

#wrapper .fusion-footer a:hover {
    color: var(--awp-gold) !important;
}

/* ── WooCommerce archive ── */
.woocommerce-ordering,
.woocommerce .woocommerce-result-count {
    display: none !important;
}

.fusion-woo-sorting {
    border-bottom: 1px solid rgba(17,17,17,0.08) !important;
    padding-bottom: 16px !important;
    margin-bottom: 32px !important;
}

.fusion-woo-sorting .fusion-woo-sort-select,
.fusion-woo-sorting select {
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border: 1px solid rgba(17,17,17,0.15) !important;
    background: transparent !important;
    color: var(--awp-text-dark) !important;
    padding: 8px 12px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.fusion-post-card-title,
.product .product-title,
.fusion-woo-product-grid .fusion-post-card-title {
    font-family: var(--awp-serif) !important;
    font-weight: 300 !important;
    font-size: 20px !important;
    letter-spacing: 0.04em !important;
    color: var(--awp-text-dark) !important;
    margin-top: 16px !important;
}

.fusion-post-cards-grid-column .fusion-column-wrapper {
    border: none !important;
    box-shadow: none !important;
}

.fusion-post-card .fusion-post-card-image img {
    transition: transform 0.5s ease !important;
}

.fusion-post-card:hover .fusion-post-card-image img {
    transform: scale(1.03) !important;
}

.tax-product_cat .fusion-woo-sorting .awb-toggle-view-button {
    display: none !important;
}

/* ── WooCommerce single product ── */
.woocommerce div.product .sku_wrapper,
.woocommerce div.product .posted_in,
.woocommerce div.product .tagged_as,
.single-product .awb-sku,
.single-product .product_meta,
.single-product .fusion-text:has(.awb-sku) {
    display: none !important;
}

.woocommerce div.product .woocommerce-product-rating {
    display: none !important;
}

.single-product .woocommerce-product-gallery {
    opacity: 1 !important;
}

.fusion-woo-related-tb .fusion-post-card-title {
    font-family: var(--awp-serif) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
}

.fusion-woo-related-tb .featured-image {
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    display: block !important;
}

.fusion-woo-related-tb .featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.awp_request_btn,
.awp_product_contact a {
    display: inline-block;
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--awp-offwhite) !important;
    background: var(--awp-gold) !important;
    padding: 14px 32px !important;
    text-decoration: none !important;
    border: none !important;
    transition: background 0.2s ease !important;
}

.awp_request_btn:hover,
.awp_product_contact a:hover {
    background: #a07a48 !important;
    color: var(--awp-offwhite) !important;
}

/* ── Page title bar styling ── */
.fusion-page-title-bar {
    background: #111111 !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(245,244,241,0.07) !important;
}

.fusion-page-title-bar .fusion-page-title-bg-parallax,
.fusion-page-title-bar img {
    display: none !important;
}

.fusion-page-title-bar .fusion-page-title-row {
    padding: 20px 0 !important;
}

.fusion-page-title-bar h1.entry-title {
    font-family: var(--awp-serif) !important;
    font-size: 32px !important;
    font-weight: 300 !important;
    color: var(--awp-offwhite) !important;
    letter-spacing: 0.04em !important;
}

.fusion-page-title-bar .fusion-breadcrumbs,
.fusion-page-title-bar .fusion-breadcrumbs a,
.fusion-page-title-bar .fusion-breadcrumbs span {
    color: rgba(245,244,241,0.5) !important;
    font-family: var(--awp-sans) !important;
    font-size: 13px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .awp_story_inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .awp_collections_section,
    .awp_story_section,
    .awp_cta_section {
        padding: 80px 24px;
    }

    .awp_section {
        padding: 80px 24px;
    }
}

@media (max-width: 640px) {
    .awp_hero_brand {
        font-size: clamp(48px, 18vw, 72px) !important;
    }

    .awp_collections_grid {
        grid-template-columns: 1fr;
    }
}
