﻿/*
 Theme Name: GeneratePress Child
 Theme URI: https://example.com
 Description: Child theme for GeneratePress customizations.
 Author: lovey
 Template: generatepress
 Version: 1.1.0
 Text Domain: generatepress-child
*/

/* External Fonts */
@import url("https://hangeul.pstatic.net/hangeul_static/css/nanum-square-neo.css");

/* CSS Modules */
@import url("css/variables.css?v=20260214-7");
@import url("css/utilities.css?v=20260214-7");
@import url("css/header.css?v=20260214-7");
@import url("css/footer.css?v=20260214-7");
@import url("css/components.css?v=20260214-7");
@import url("css/shop-archive.css?v=20260214-7");
@import url("css/single-product.css?v=20260214-7");
@import url("css/cart.css?v=20260214-7");
@import url("css/checkout.css?v=20260214-7");
@import url("css/account.css?v=20260214-7");
@import url("css/responsive.css?v=20260214-7");

/* Prevent layout shift from scrollbar appearing/disappearing */
html {
    scrollbar-gutter: stable;
}

/* Dynamic Login/Logout visibility based on logged-in state */
/* When logged in, hide login link and show logout */
body.logged-in .menu-item.login-link {
    display: none !important;
}

body.logged-in .menu-item.logout-link {
    display: inline-block !important;
}

/* When logged out, show login link and hide logout */
body:not(.logged-in) .menu-item.login-link {
    display: inline-block !important;
}

body:not(.logged-in) .menu-item.logout-link {
    display: none !important;
}

/* Critical layout overrides (cache-safe) */
html {
    overflow-y: scroll;
}

/* Always keep content below fixed header across the site */
body.gp-shop-skin #page {
    padding-top: calc(var(--header-offset, 196px) + 12px) !important;
}

/* Homepage hero: force full-width single row and prevent side-by-side split */
body.page-template-template-homepage .entry-content,
body.gp-shop-skin .entry-content:has(.hp-hero) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
}

body.page-template-template-homepage .entry-content > *,
body.gp-shop-skin .entry-content:has(.hp-hero) > * {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    flex: 0 0 100% !important;
}

/* Homepage first split section: keep left visual full-width, move right content below */
body.home.page-template-template-homepage .entry-content > .wp-block-columns:first-child {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(20px, 3vw, 42px) !important;
}

body.home.page-template-template-homepage .entry-content > .wp-block-columns:first-child > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    margin-inline: 0 !important;
}

body.gp-shop-skin .hp-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    float: none !important;
    clear: both !important;
    overflow: hidden !important;
}

body.gp-shop-skin .hp-hero__track {
    display: flex !important;
    width: 100% !important;
}

body.gp-shop-skin .hp-hero__slide {
    flex: 0 0 100% !important;
    min-width: 100% !important;
}

body.gp-shop-skin .hp-hero__slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

body.gp-shop-skin .hp-hero__content {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    text-align: center !important;
}

/* My-account login/register container should not resize by tab */
body.gp-shop-skin.woocommerce-account:not(.logged-in) .account-shell {
    max-width: 760px !important;
}

body.gp-shop-skin.woocommerce-account:not(.logged-in) .account-panel {
    max-width: 760px !important;
    min-height: 680px !important;
    display: flex !important;
    flex-direction: column !important;
}

body.gp-shop-skin.woocommerce-account:not(.logged-in) .account-card--login,
body.gp-shop-skin.woocommerce-account:not(.logged-in) .account-card--register {
    min-height: 560px !important;
    width: 100% !important;
}
