html,
body{
    background:#eef3f9;
}

.page-shell{
    width:100%;
    min-height:100vh;
    padding:0 45px 68px;
}

/* BORDI */

.page-shell::before,
.page-shell::after{
    width:38px;
    background-size:38px auto;
}

/* HEADER */

.site-header{
    grid-template-columns:42px 1fr 42px;
    align-items:start;
    padding:28px 0 18px;
}

.logo{
    position:relative;
    top:12px;
}

.logo-main{
    font-size:35px;
    letter-spacing:.24em;
    padding-left:.24em;
}

.logo-year{
    margin-top:11px;
    font-size:10px;
    letter-spacing:.25em;
    padding-left:.25em;
}

.logo-subtitle{
    margin-top:7px;
    font-size:9px;
    letter-spacing:.23em;
    padding-left:.23em;
    white-space:nowrap;
}

/* ICONE */

.header-icon{
    width:34px;
    height:34px;
}

.header-icon img{
    width:32px;
    height:32px;
}

.menu-button{
    margin-top:7px;
}

.cart-button{
    margin-top:6px;
}

/* IMMAGINE */

.hero{
    padding:10px 0;
}

.hero-image{
    width:92%;
    max-width:420px;
    height:auto;
    filter:drop-shadow(0 8px 14px rgba(0,0,0,.08));
}

/* CATEGORIA */

.category-section{
    gap:16px;
    padding:18px 0 28px;
}

.category-label{
    font-size:20px;
}

.category-select{
    width:125px;
    padding:10px 34px 10px 14px;
    border-radius:8px;
    font-size:16px;
}

/* ORNAMENTI */

.intro-text{
    padding:0 8px;
}

.small-ornament{
    display:flex;
    justify-content:center;
    margin:18px 0 24px;
}

.small-ornament img{
    width:115px;
    height:auto;
    display:block;
}

.intro-text p{
    font-size:19px;
}
