/* ==========================================================================
   Zoriana — Main Stylesheet
   Migrated from app.wrozkazoriana.pl/app.vue
   ========================================================================== */

/* --- CSS Custom Properties --- */
:root {
    --color--primary: #ba9a63;
    --color--secondary: #219bf1;
    --background-color--primary: #0c1023;
    --background-color--secondary: #0b0e1e;
}

/* --- Reset --- */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: inherit;
}

html {
    scroll-behavior: smooth;
}

body {
    box-sizing: border-box;
    font-family: "El Messiri", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    line-height: 1.6;
    color: #181828;
    background-color: #fff;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "El Messiri", sans-serif;
}

p {
    line-height: 1.6;
}

a {
    text-decoration: none;
    color: var(--color--primary);
}

a:hover {
    color: #D5846E;
}

img {
    max-width: 100%;
    height: auto;
}

ul {
    list-style: none;
}

/* Override Storefront layout on non-checkout pages */
.site-content,
.content-area,
#primary {
    width: 100%;
    max-width: none;
    float: none;
    margin: 0;
    padding: 0;
}

.right-sidebar .content-area,
.left-sidebar .content-area {
    width: 100%;
    float: none;
    margin: 0;
}

#secondary {
    display: none;
}

/* ==========================================================================
   CHECKOUT / CART / ACCOUNT — restore Storefront defaults INSIDE .col-full
   Our header/footer are OUTSIDE .col-full so they keep Zoriana styles.
   ========================================================================== */

.col-full {
    max-width: 66.4989378333em;
    margin-left: auto;
    margin-right: auto;
    padding: 0 2.617924em;
    box-sizing: content-box;
}

/* Restore native styles inside checkout content only */
.col-full ul { list-style: revert; }
.col-full a { text-decoration: revert; color: revert; }
.col-full a:hover { color: revert; }
.col-full * { margin: revert; padding: revert; box-sizing: revert; }

/* ==========================================================================
   End checkout restore
   ========================================================================== */

/* --- Layout --- */
.container {
    max-width: 1200px;
    padding: 0 1rem;
    margin: 0 auto;
}

/* --- CTA Button --- */
.cta {
    font-size: 20px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.3px;
    fill: #FFFFFF;
    color: #FFFFFF;
    background-color: #EC4400;
    box-shadow: 0px 10px 20px 0px rgba(255, 84, 84, 0.24);
    padding: 20px 50px;
    width: max-content;
    border: none;
    cursor: pointer;
    transition: .3s all ease-in-out;
    display: inline-block;
}

.cta:hover,
.cta:focus {
    background-color: #C93D03;
    color: #FFFFFF;
}

/* --- 404 --- */
.error-404 {
    padding: 120px 0;
    text-align: center;
    background-color: #EDEBE5;
    position: relative;
}

.error-404__title {
    font-size: 120px;
    font-weight: 800;
    color: var(--color--primary);
    line-height: 1;
    margin-bottom: 0.5rem;
}

.error-404__subtitle {
    font-size: 32px;
    margin-bottom: 1rem;
}

.error-404__description {
    color: #6b7280;
    margin-bottom: 2rem;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.error-404__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}

.error-404__link {
    font-weight: 600;
    color: var(--color--primary);
}

.error-404__link:hover {
    color: #D5846E;
}

/* --- Keyframes --- */
@keyframes rotating {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}

@keyframes bounce-out-down {
    0%   { transform: translateY(0); }
    25%  { transform: translateY(20px); }
    50%  { transform: translateY(0); }
    75%  { transform: translateY(20px); }
    100% { transform: translateY(0); }
}
