:root {
    --scrollbar-width: 0px;
    --nero: #000000;
    --grigio: #666666;
    --bianco: #fff;
    --oro: #c7ad3b;
    --oro-spento: #E7DBA9;
    --vh: 1vh;
    --vw: 1vw;
}

[x-cloak] {
    display: none;
}

.cart-link {
    position: relative;
}

.cart-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    border: 1px solid var(--nero);
    background: var(--oro);
    color: var(--bianco);
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    pointer-events: none;
}

html {
    width: 100%;
    min-height: 100%;
    float: left;
    margin: 0px;
    padding: 0px;
    font-family: "open-sans", sans-serif;
    background-color: var(--nero);
    color: black;
    overflow: auto;
    scrollbar-color: #C7AD3B black;
    scrollbar-width: thin;
}

body {
    border: none;
    padding: 0px;
    margin: 0px;
    width: 100%;
    float: left;
    -webkit-text-size-adjust: 100%;
    font-size: 15px;
    line-height: 20px;
    font-weight: 400;
    color: var(--bianco);
    position: relative;
    overflow-x: hidden;
}

td {
    border: none;
    text-align: left;
    margin: 0px;
    padding: 0px;
}

div,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
footer,
header,
nav,
article,
main,
aside,
section,
form,
fieldset,
marquee,
figure,
figcation {
    float: left;
    margin: 0px;
    padding: 0px;
    width: 100%;
    text-align: left;
    text-decoration: none;
    -webkit-text-size-adjust: 100%;
}

img {
    text-decoration: none;
    border: none;
    vertical-align: middle;
    height: auto;
}

svg {
    border: none;
    border-image-width: 0;
    stroke-width: 0px;
}

iframe {
    margin: 0px;
    padding: 0px;
    border: none;
    /*    height: auto;
    width: 100%;*/
}

video[poster] {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

video {
    max-width: 100%;
}

table,
td,
tr {
    margin: 0px;
    padding: 0px;
    border: none;
}

table {
    float: left;
}

label {
    cursor: pointer;
}

a {
    outline: none;
    text-decoration: none;
    cursor: pointer;
    font-weight: 500;
    transition: color 0.4s;
    -webkit-transition: color 0.4s;
    color: var(--oro);
}

li {
    outline: none;
}

i,
em,
.italic {
    font-style: italic;
    font-weight: inherit;
}

i strong,
em strong {
    font-style: italic;
}

.underline {
    text-decoration: underline;
}

*::placeholder {
    color: var(--grigio);
}

button::-moz-focus-inner {
    border: 0;
}

a:focus {
    outline: none;
}

*:focus::placeholder {
    color: transparent;
}

input,
textarea,
select,
button {
    outline: none;
    border: none;
    padding: 0px;
    -webkit-border-radius: 0px;
}

select {
    -webkit-appearance: none;
    /* Nero */
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAWCAYAAAAW5GZjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozYWZiZjdlZi01YWI5LTQxOTgtYWM4NS03NjY3MTY0OTY4MzUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUFGNzc5RkEzNjI0MTFFQkEyMjdCNDFBRUE1NjNBNkUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUFGNzc5RjkzNjI0MTFFQkEyMjdCNDFBRUE1NjNBNkUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGRUM3M0JFODJEOTYxMUVCQThENkYzNzEzNEFCMjA0NCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGRUM3M0JFOTJEOTYxMUVCQThENkYzNzEzNEFCMjA0NCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PivKHYoAAACeSURBVHjaYvz//z8DsYCJgQQwSBSzgAhGLU9ksQwgngDEBUA8Ayb4/9p2iGIkkAnE06Ds6SBzoDSGM5AVwsA0qDiKYmwKMTTAFHcT8Fs33INAoAnEwngUv0VW/BiKCQcdEMgSYfJjmOLrQMyNR/FXIOaBebCUgAtKkUMDFPBZOBRmwSIGOVKwacjCFYMwDaAI+AmlpyNLMg7BnAIQYADcuSEq6NODFQAAAABJRU5ErkJggg==);
    /* Bianco */
    /* background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAWCAYAAAAW5GZjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFzmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgMTAuMC1jMDAwIDc5LmQwNGNjMTY5OCwgMjAyNS8wNy8wMi0xMjoxODoxMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6M2FmYmY3ZWYtNWFiOS00MTk4LWFjODUtNzY2NzE2NDk2ODM1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkFBRjc3OUZBMzYyNDExRUJBMjI3QjQxQUVBNTYzQTZFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZlYjU1OWVhLTI0ZmMtNGZiZi05ZmRmLWMyODgxN2VlZmZlZCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjYtMDItMTdUMTE6NTQ6NDcrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI2LTAyLTE3VDExOjU1OjM3KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI2LTAyLTE3VDExOjU1OjM3KzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZFQzczQkU4MkQ5NjExRUJBOEQ2RjM3MTM0QUIyMDQ0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFQzczQkU5MkQ5NjExRUJBOEQ2RjM3MTM0QUIyMDQ0Ii8+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjZlYjU1OWVhLTI0ZmMtNGZiZi05ZmRmLWMyODgxN2VlZmZlZCIgc3RFdnQ6d2hlbj0iMjAyNi0wMi0xN1QxMTo1NTozNyswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI3LjMgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+3d1rSgAAAHtJREFUKJFj/P//PwOxgIlolQyDWnEGAwPDDyiNCkChgYQz/6OCTGR5fAoxNBBSiKKBERopXxgYGLjx+O0rAwMDDwuUo8nAwCCMR/FbEAEzmSgAM1mWCJMfk+RmJiinlIALIPLkhDMDqTEIwxn/////AaVR5EgKukGS+AG9L/rxKKnGSwAAAABJRU5ErkJggg==); */
    background-position: calc(100% - 15px) 50%;
    background-repeat: no-repeat;
    background-size: 11px 22px;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="date"] {
    -moz-appearance: textfield;
}

button {
    cursor: pointer;
    -webkit-appearance: none;
    background-color: transparent;
}

input[type="checkbox"] {
    -webkit-appearance: checkbox;
    -webkit-border-radius: auto;
    vertical-align: middle;
}

input[type="radio"] {
    /*    -webkit-appearance: checkbox;
    -webkit-border-radius: auto;*/
    vertical-align: middle;
}

input[type="submit"] {
    -webkit-border-radius: 0px;
    -webkit-appearance: none;
}

.hidden {
    display: none;
}

.vis_hidden {
    visibility: hidden;
}

.over_hidden {
    overflow: hidden;
}

.block {
    display: block;
}

.flex {
    display: flex;
}

.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}
.flex-start {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.justify-center {
    justify-content: center;
}

.justify-left {
    justify-content: flex-start;
}

.justify-right {
    justify-content: flex-end;
}

.justify-between {
    justify-content: space-between;
}

.mobile {
    display: none;
}

.opacity_0 {
    opacity: 0;
}

.opacity_1 {
    opacity: 1;
}

.inline-block {
    display: inline-block;
}

.inline-desktop {
    display: inline;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.pointer {
    cursor: pointer;
}

.wait {
    cursor: wait;
}

.left {
    float: left;
}

.right {
    float: right;
}

.none {
    float: none;
}

.clear {
    clear: both;
}

.v_top {
    vertical-align: top;
}

.text_top {
    vertical-align: text-top;
}

.v_middle {
    vertical-align: middle;
}

.v_bottom {
    vertical-align: bottom;
}

.m_auto {
    margin: 0px auto;
}

.w_auto {
    width: auto;
}

.w_100pe {
    width: 100%;
}

.w_50pe {
    width: 50%;
}

.max_w100pe {
    max-width: 100%;
}

.max_w50pe {
    max-width: 50%;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.text-truncate {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.extralight {
    font-weight: 200;
}

.light {
    font-weight: 300;
}

.normal {
    font-weight: 400;
}

.style-normal {
    font-style: normal;
}

.strike {
    text-decoration: line-through;
}

.medium {
    font-weight: 500;
}

.semibold {
    font-weight: 600;
}

.bold,
strong,
b {
    font-weight: 700;
}

.extrabold {
    font-weight: 900;
}

.red {
    color: red;
}

.black,
.nero {
    color: var(--nero);
}

.white,
.bianco {
    color: var(--bianco);
}

.oro {
    color: var(--oro);
}

.oro-spento {
    color: var(--oro-spento);
}

.oro-bkg {
    background-color: var(--oro);
}

.oro-spento-bkg {
    background-color: var(--oro-spento);
}

.bianco-bkg {
    background-color: var(--bianco);
}

.nero-bkg {
    background-color: var(--nero);
}

.cover {
    background-size: 100% 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.cover-left {
    background-size: 100% 100%;
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
}

.cover-picture {
    overflow: hidden;
}

.cover-picture img,
.cover-picture-full img {
    object-fit: cover;
    width: 100%;
}

.cover-picture img {
    border-radius: 10px;
}

.cover-picture-center {
    text-align: center;
    overflow: hidden;

}

.cover-picture-center img {
    max-width: 100%;
    border-radius: 10px;
    width: auto;
}

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

.cover-picture img {
    height: auto;
}

.cover-picture-full img {
    height: 100%;
}

.picture-full {
    display: block;
    float: left;
    width: 100%;
}

.picture-full img {
    width: 100%;
}

.uppercase {
    text-transform: uppercase;
}

.lowercase {
    text-transform: lowercase;
}

.capitalize {
    text-transform: capitalize;
}

.two-column {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
}

.ritch-cont a {
    color: var(--oro);
}

.ritch-cont ul {
    width: 100%;
    box-sizing: border-box;
    list-style-type: disc;
    padding-left: 20px;
    display: block;
}

.ritch-cont ol {
    width: 100%;
    box-sizing: border-box;
    list-style-type: decimal;
    padding-left: 20px;
}

.ritch-cont li {
    float: left;
    width: 100%;
}

.ritch-cont img {
    max-width: 100% !important;
    height: auto !important;
}

.gen-text-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.flex-reverse-row {
    flex-direction: row-reverse;
}

.video-cover-image {
    display: none !important;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

/* Honey POT anti SPAM */
.hnpt {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    background-color: transparent;
    height: 100%;
    z-index: 100;
}

#over-box {
    display: none;
    position: fixed;
    z-index: 9998;
    background-color: rgba(255, 251, 242, 0.90);
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
}

#over-box.show {
    display: block;
}

.over-hidden {
    overflow: hidden;
}

.noscroll {
    position: fixed !important;
    /*    overflow-y: scroll;*/
}

.modal-box {
    display: none;
    position: fixed;
    background-color: var(--bianco);
    color: var(--nero);
    text-align: center;
    z-index: 9999;
    top: -500px;
    opacity: 1;
    width: 680px;
    min-height: 355px;
    left: 50%;
    margin-left: -340px;
    border-radius: 10px;
    box-shadow: 0px 0px 25px 0px rgb(0 0 0 / 15%);
    max-height: calc(70 * var(--vh));
}

input:autofill,
input:auto-fill,
input:-webkit-autofill,
input:-webkit-auto-fill {
    background-color: transparent !important;
    background-image: none !important;
}

.form-half-input-cont {
    width: calc(50% - 5px);
}

.form-half-input-cont:last-child {
    float: right;
}

.form-third-input-cont {
    width: calc((100% - 40px) / 3);
}

.form-input,
.form-select {
    display: inline-block;
    width: 100%;
    height: 50px;
    line-height: 50px;
    color: var(--oro);
    background-color: unset;
    border: 0.5px solid var(--grigio);
    border-radius: 5px;
    font-size: 15px;
    padding: 0px 20px;
    box-sizing: border-box;
}

/* Non si legge sul trasparente */
#form-restfarmer select option {
    background: #222;
    color: var(--bianco);
}

.form-input:focus,
.form-textarea:focus {
    border: 0.5px solid var(--grigio);
}

.form-textarea {
    display: inline-block;
    width: 100%;
    line-height: 20px;
    color: var(--bianco);
    background-color: unset;
    border: 0.5px solid var(--grigio);
    border-radius: 5px;
    font-size: 15px;
    padding: 10px 20px;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    resize: none;
}

.form-error .form-input,
input.form-error,
textarea.form-error {
    border: 0.5px solid red;
}

label.form-error {
    border-bottom: 0.5px solid red;
}

.form-error-span {
    display: inline-block;
    float: left;
    margin-top: 10px;
    font-size: 15px;
    line-height: 20px;
    font-weight: bold;
    box-sizing: border-box;
    padding: 0px 15px;
    color: red;
}

.checkbox-label {
    font-size: 12px;
}

.checkbox-label a {
    display: inline-block;
    width: auto;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    color: var(--grigio);
    font-weight: bold;
}

.radio-form-error label {
    border-color: red;
    background-color: #ffdcdc;
}

.text-form-error {
    border-color: red;
    background-color: #ffdcdc;
}

.checkbox-form-error {
    border-bottom: 0.5px solid red;
}

.btn.block {
    display: block;
}

.btn {
    /* display: inline-block; */
    /* width: auto; */
    height: 60px;
    font-size: 14px;
    line-height: 59px;
    font-weight: 700;
    padding: 0px 20px;
    box-sizing: border-box;
    text-align: center;
    border-radius: 5px;
    /* cursor: pointer; */
    text-transform: uppercase;
}

.btn-oro {
    background-color: var(--oro);
    border: 0.5px solid var(--oro);
    color: var(--nero);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    min-width: 490px;
}

.btn-oro-piccolo {
    background-color: var(--oro);
    border: 0.5px solid var(--oro);
    color: var(--nero);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}

.btn-filetto-oro {
    border: 0.5px solid var(--oro);
    color: var(--oro);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    min-width: 490px;

}

.btn-oro-cart {
    background-color: var(--oro);
    border: 0.5px solid var(--oro);
    color: var(--nero);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    min-width: calc(100% - 120px);
    float: right;
}

.btn-filtro {
    display: inline-block;
    height: 35px;
    font-size: 12px;
    line-height: 34px;
    font-weight: 600;
    padding: 0px 20px;
    box-sizing: border-box;
    text-align: center;
    border-radius: 5px;
    border: 0.5px solid var(--bianco);
    color: var(--bianco);
    background-color: var(--nero);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}

.btn-filtro-bianco {
    display: inline-block;
    height: 35px;
    font-size: 12px;
    line-height: 34px;
    font-weight: 600;
    padding: 0px 20px;
    box-sizing: border-box;
    text-align: center;
    border-radius: 5px;
    border: 0.5px solid var(--bianco);
    color: var(--nero);
    background-color: var(--bianco);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}

.btn-filtro-disabled {
    cursor: not-allowed;
    display: inline-block;
    height: 35px;
    font-size: 12px;
    line-height: 34px;
    font-weight: 600;
    padding: 0px 20px;
    box-sizing: border-box;
    text-align: center;
    border-radius: 5px;
    border: 0.5px solid var(--grigio);
    color: var(--grigio);
    background-color: transparent;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}

.btn-nero {
    background-color: var(--nero);
    border: 1px solid var(--bianco);
    color: var(--bianco);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    border-radius: 50px;
}

.btn-nero.active {
    background-color: var(--bianco);
    border: 1px solid var(--bianco);
    color: var(--nero);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    border-radius: 50px;
    min-width: 50px;
}

.paginator {
    display: inline-block;
    width: 50px;
    height: 50px;
    font-size: 15px;
    line-height: 48px;
    font-weight: 700;
    text-align: center;
    border-radius: 5px;
}

.cover-full-cont {
    position: relative;
}

.cover-full-cont picture,
.cover-full-cont img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
}

/* TIPOGRAFIA */
.open {
    font-family: "open-sans", sans-serif;
}

.erotique {
    font-family: "erotique", sans-serif;
}

.text-xxl {
    font-size: 80px;
    line-height: 85px;
    font-family: "erotique", sans-serif;
}

.text-xl {
    font-size: 60px;
    line-height: 65px;
    font-family: "erotique", sans-serif;
}

.text-l {
    font-size: 40px;
    line-height: 45px;
    font-family: "erotique", sans-serif;
}

.text-m {
    font-size: 30px;
    line-height: 45px;
    font-family: "erotique", sans-serif;
}

.text-s {
    font-size: 25px;
    line-height: 30px;
    font-family: "erotique", sans-serif;
}

.text-xs {
    font-size: 20px;
    font-family: "erotique", sans-serif;
}

.p-piccola {
    font-size: 12px;
    line-height: 16px;
    font-family: "open-sans", sans-serif;
    font-weight: 400;
}

.p-grande {
    font-size: 20px;
    line-height: 30px;
    font-family: "open-sans", sans-serif;
    font-weight: 400;
}

.p-prezzo {
    font-size: 25px;
    line-height: 25px;
    font-family: "open-sans", sans-serif;
    font-weight: 700;
}

.p-prezzo-grande {
    font-size: 40px;
    line-height: 40px;
    font-family: "open-sans", sans-serif;
    font-weight: 700;
}

/* Main */
main {
    min-height: calc(100vh - 65px);
    box-sizing: border-box;
}

.page,
.medium-page,
.mini-page {
    float: none;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.page {
    max-width: 1520px;
    padding-left: 40px;
    padding-right: 40px;
}

.medium-page {
    max-width: 980px;
    padding-left: 40px;
    padding-right: 40px;
}

.mini-page {
    max-width: 780px;
    padding-left: 40px;
    padding-right: 40px;
}



.hp-container {
    width: 100vw;
    height: 100vh;
    position: fixed;
    background-color: rgba(25, 19, 19, 0.85);
}

#hp-picture {
    height: 100vh;
    display: block;
}

#hp-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

footer {
    position: relative;
    bottom: 0px;
}

#header {
    width: 100%;
    padding: 20px 0px;
    box-sizing: border-box;
    text-align: center;
    position: fixed;
    z-index: 10;
}

.menu-toggle-checkbox {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

#header.open,
#menu-toggle:checked ~ #header {
    display: block;
    height: 100vh;
    background-color: var(--nero);
    top: 0px;
    /* Evitare lo spepem se barra di scorrimento */
    padding-right: var(--scrollbar-width);
}

#menu-toggle:focus-visible ~ #header #toggle-menu {
    outline: 2px solid var(--bianco);
    outline-offset: 2px;
}

.icon-header {
    width: 60px;
    height: 60px;
    line-height: 59px;
    border-radius: 30px;
    text-align: center;
    border: 1px solid var(--grigio);
    color: var(--bianco);
    font-size: 20px;
    background-color: var(--nero);
    transition: all 0.2s;
    position: fixed;
    top: 20px;
}

.icon-header.left {
    left: 40px;
}

.icon-header.right {
    left: calc(100vw - 60px - 60px);
}

#logo-header-toggle-menu-cont {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 193px;
    position: relative;
    top: 0px;
    transition: top 0.4s;
}

#logo-header-toggle-menu-cont.loading {
    opacity: 0;
}

#logo-header {
    width: 193px;
    display: inline-block;
}

#logo-header img {
    height: 100px;
}

#toggle-menu {
    display: inline-block;
    width: 60px;
    height: 60px;
    line-height: 59px;
    text-align: center;
    color: var(--nero);
    font-size: 20px;
    border: 1px solid var(--oro);
    background-color: var(--oro);
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.2s;
    margin-top: 20px;
}

#toggle-menu i:first-child,
#header.open #toggle-menu i:last-child,
#menu-toggle:checked ~ #header #toggle-menu i:last-child {
    display: inline-block;
}

#toggle-menu i:last-child,
#header.open #toggle-menu i:first-child,
#menu-toggle:checked ~ #header #toggle-menu i:first-child {
    display: none;
}

#header.scrolled {
    top: -120px;
}

.container-footer {
    width: 100%;
    padding: 20px 40px;
    box-sizing: border-box;
}

.container-footer p {
    text-align: center;
}

#menu-header {
    display: none;
    box-sizing: border-box;
    width: 100%;
    margin: 20px 0px;
    max-height: calc(100vh - 240px);
    overflow: auto;
    scrollbar-color: #C7AD3B black;
    /*     scrollbar-width: thin; */
}

#header.open #menu-header,
#menu-toggle:checked ~ #header #menu-header {
    display: block;

}

#menu-header ul {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#menu-header li {
    text-align: center;
    width: 480px;
}

#menu-social {
    display: flex;
    justify-content: center;
    gap: 45px;
    margin-top: 20px;
}

#menu-social a {
    font-size: 40px;
}

#menu-header ul li:last-child {
    border-bottom: 0.5px solid var(--grigio);
    padding-bottom: 10px;
}

.category {
    border-bottom: 0.5px solid var(--grigio);
    border-top: 0.5px solid var(--grigio);
    margin-top: 10px;
    margin-bottom: 20px;
}

.border-top {
    border-top: 0.5px solid var(--grigio);
    margin-top: 10px;
    padding-top: 10px;
}

.titolo-centrato {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.titolo-centrato h1,
.titolo-centrato p {
    text-align: center;
}

.chi-sono {
    padding-top: 220px;
}

.chi-sono-contatti {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.btn-instagram img {
    height: 60px;
    width: auto;
    color: var(--bianco);
}

.goldsmith-main {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.grid-singolo {
    color: var(--bianco);
}

.container-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}
.container-grid-small {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.image-wrapper {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: block;
    float: left;
}

.image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
    opacity: 50%;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}


.image-wrapper-tondo {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: block;
    float: left;
}

.image-wrapper-tondo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    opacity: 50%;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}

.pezzo-singolo {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 80px;
}

.pezzo-singolo-image {
    width: 50%;
    box-sizing: border-box;
}

.pezzo-singolo-image img {
    object-fit: cover;
    aspect-ratio: 1 / 1;
}

.pezzo-singolo-text {
    width: 50%;
}

.pezzo-singolo-text {
    box-sizing: border-box;
    text-align: left;
}

.pezzo-singolo-label {
    width: 100%;
}

.pezzo-singolo-prezzo {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}

.pezzo-singolo-prezzo p {
    width: 50%;
    color: var(--oro);
}

.select {
    height: 60px;
    border-radius: 5px;
    padding: 0px 20px;
    font-size: 15px;
    line-height: 60px;
    width: 100%;
    background-color: var(--bianco);
}

.input {
    height: 60px;
    width: 100%;
    border-radius: 5px;
    text-align: left;
    font-size: 15px;
    line-height: 60px;
    background-color: var(--bianco);
    padding: 0px 20px;
    box-sizing: border-box;
}

.input-nero {
    height: 60px;
    width: 100%;
    border-radius: 5px;
    text-align: left;
    font-size: 15px;
    line-height: 60px;
    background-color: transparent;
    color: var(--grigio);
    border: 1px solid var(--grigio);
    padding: 0px 20px;
    box-sizing: border-box;
}

.textarea {
    height: 120px;
    width: 100%;
    border-radius: 5px;
    text-align: left;
    font-size: 15px;
    line-height: 20px;
    background-color: var(--bianco);
}

.pezzo-singolo-carrello {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pezzo-singolo-carrello a {
    display: block;
    float: right;
}

.container-form {
    padding-top: 220px;
}

.container-form h1 {
    text-align: center;
}

.contatti-info {
    display: flex;
    justify-content: space-between;
    text-align: left;
    color: var(--bianco);
    font-size: 14px;
}

.info-left, .info-right {
    width: 50%;
}

.contatti-form {
    display: flex;
    flex-direction: column;
    text-align: left;
    gap: 10px;
}

.form-row {
    display: flex;
    gap: 10px;
    box-sizing: border-box;
}

.contatti-form input,
.contatti-form textarea {
    padding: 15px;
    font-size: 14px;
    box-sizing: border-box;
}

.errorlist li {
    font-size: 12px;
    color: red;
    padding-top: 10px;
}

.titolo-barrato {
    position: relative;
    overflow: hidden;
}

.titolo-barrato-int {
    background-color: var(--nero);
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 0px 10px;
}

.titolo-barrato-riga {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0px;
    height: 0px;
    width: 100%;
    border-top: 0.5px solid var(--bianco);
    border-bottom: 0.5px solid var(--bianco);
}

.cart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bord-top{
    border-top: 0.5px solid var(--grigio);
    padding: 20px 0px;
    box-sizing: border-box;
}

.bord-bottom{
    border-bottom: 0.5px solid var(--grigio);
    padding: 0px 0px 20px 0px;
    box-sizing: border-box;
}

.plr_20 {
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

.img-cart {
    height: 20px;
}

.filtra-pezzi {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.filtro-sep {
    display: inline-block;
    width: 1px;
    height: 22px;
    background-color: var(--bianco);
    opacity: 0.25;
    flex-shrink: 0;
}

.filtra-tipologia {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    margin-top: 16px;
}

.filtro-riga {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
}

.filtro-label {
    display: inline-flex;
    align-items: center;
    height: 35px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bianco);
    opacity: 0.5;
    white-space: nowrap;
    flex-shrink: 0;
    min-width: 80px;
}

.btn-filtro.selected {
    color: var(--nero);
    border: 0.5px solid var(--oro);
    background-color: var(--oro);
}

.nav-paginator {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
}

.adm-pager-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 36px;
    color: var(--bianco);
    font-size: 14px;
    line-height: 200px;
    letter-spacing: .05em;
}
.address-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.address-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
    border-left: 2px solid transparent;
    cursor: pointer;
    transition: border-left-color 0.2s, background-color 0.2s;
}

.address-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.address-card:hover {
    background-color: rgba(199, 173, 59, 0.05);
}

.address-card.selected,
.address-card:has(input[type="radio"]:checked) {
    border-left-color: var(--oro);
    background-color: rgba(199, 173, 59, 0.08);
}

.cart-line {
    align-items: center;
    flex-wrap: nowrap;
    overflow: hidden;
}

.cart-line > .w_100pe {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
}

.cart-line-actions {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 12px;
}

.cart-line-price {
    text-align: right;
    white-space: nowrap;
    line-height: 1.5;
}

.cart-remove-btn {
    background: none;
    border: none;
    padding: 4px 6px;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s;
}

.cart-remove-btn:hover {
    opacity: 1;
}
.state{
    font-size: 12px;
    font-weight: 400;
    line-height: 30px;
    height: 30px;
    padding: 0px 20px;
    box-sizing: border-box;
    text-align: center;
    border-radius: 15px;
}
.state-oro{
    color: var(--nero);
    background-color: var(--oro);
}
.state-red{
    color: var(--bianco);
    background-color: var(red);
}
.state-grigio{
    color: var(--bianco);
    background-color: var(--grigio);
}

.pezzo-singolo-image a.glightbox {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    cursor: zoom-in;
}

.pezzo-singolo-image a.glightbox img {
    max-width: 100%;
    height: auto;
    display: block;
}
.glightbox-container .gclose path {
    fill: #ffffff !important;
}

.glightbox-container .gnext path,
.glightbox-container .gprev path {
    fill: #ffffff !important;
}

.glightbox-container .gclose,
.glightbox-container .gnext,
.glightbox-container .gprev {
    opacity: 0.9 !important;
}
.glightbox-container .gslide-inner-content{
    display: flex;
}


@media only screen and (min-width: 1024px) and (max-width: 1800px) {
}

/* Qui vanno gli eventi di Hover. Non metterli da altre parti!!!!! */
@media only screen and (min-width: 1201px) and (max-width: 10000px) {
    a:hover {
        transition: color 0.4s;
        -webkit-transition: color 0.4s;
        color: var(--oro-spento);
    }

    #toggle-menu:hover {
        color: var(--nero);
        background-color: var(--oro-spento);
        border: 0.5px solid var(--oro-spento);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }

    .icon-header:hover {
        color: var(--nero);
        background-color: var(--bianco);
        border: 1px solid var(--grigio);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }

    .btn-oro:hover {
        background-color: var(--oro-spento);
        border: 0.5px solid var(--oro-spento);
        color: var(--nero);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }

    .btn-oro-piccolo:hover {
        background-color: var(--oro-spento);
        border: 0.5px solid var(--oro-spento);
        color: var(--nero);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }

    .btn-oro-cart:hover {
        background-color: var(--oro-spento);
        border: 0.5px solid var(--oro-spento);
        color: var(--nero);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }

    .grid-singolo:hover {
        color: var(--oro);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }

    .grid-singolo:hover img {
        opacity: 100%;
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }

    .btn-filtro:hover {
        color: var(--nero);
        background-color: var(--oro);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
        border: 0.5px solid var(--oro);
    }

    .btn-filtro-bianco:hover {
        color: var(--bianco);
        background-color: var(--nero);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
        border: 0.5px solid var(--bianco);

    }

    .btn-nero:hover {
        color: var(--nero);
        background-color: var(--bianco);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
        border: 0.5px solid var(--oro);

    }
}
/* Tablet Landscape */
@media only screen and (min-width:1024px) and (max-width:1279px) {
    .page {
        padding-left: 20px;
        padding-right: 20px;
    }
    .pezzo-singolo {
        gap: 40px;
    }
}

/* Tablet Portrait + Mobile */
@media only screen and (min-width:220px) and (max-width:1023px) {}

/* Tablet Portrait */
@media only screen and (min-width:768px) and (max-width:1023px) {
    .container-grid{
        grid-template-columns: repeat(2, 1fr);
    }
    .text-s{
        font-size: 15px;
        line-height: 20px;
    }
    .p-prezzo{
        font-size: 15px;
        line-height: 20px;
    }
    .pezzo-singolo {
        gap: 20px;
    }
    .page {
        padding-left: 20px;
        padding-right: 20px;
    }
    .text-l{
        font-size: 30px;
        line-height: 35px;
    }
    .p-prezzo-grande{
        font-size: 30px;
        line-height: 35px;
    }
}

/* Cellulari */
@media only screen and (min-width:220px) and (max-width:767px) {
    .page {
        padding-left: 20px;
        padding-right: 20px;
    }
    .text-xl{
        font-size: 30px;
        line-height: 35px;
    }
    .container-footer {
        padding: 20px;
    }
    .container-footer p {
        font-size: 12px;
        line-height: 15px;
    }
    .p-grande {
        font-size: 15px;
        line-height: 20px;
    }
    .icon-header.left {
        left: 20px;
        height: 40px;
        width: 40px;
    }
    .icon-header.right {
        left: calc(100vw - 40px - 20px);
    }
    .icon-header {
        height: 40px;
        width: 40px;
        line-height: 39px;
        font-size: 12px;
    }
    #logo-header img{
        height: 65px;
    }
    #toggle-menu {
        width: 40px;
        height: 40px;
        line-height: 39px;
        font-size: 12px;
    }
    #menu-header li {
        width: auto;
    }
    .medium-page{
        padding-left: 20px;
        padding-right: 20px;
    }
    .btn-instagram img {
        height: 40px;
    }
    .btn {
        height: 40px;
        line-height: 39px;
        font-size: 12px;
        width: 100%;
    }
    .container-form{
        padding-top: 160px;
    }
    .mini-page {
        padding-left: 20px;
        padding-right: 20px;
    }
    .contatti-info {
        flex-direction: column;
        gap: 20px;
    }
    .info-left, .info-right {
        width: 100%;
    }
    .form-row {
        flex-direction: column;
    }
    .chi-sono {
        padding-top: 160px;
    }
    .text-xxl {
        font-size: 40px;
        line-height: 45px;
    }
    .container-grid{
        grid-template-columns: repeat(1, 1fr);
    }

    .nav-paginator .btn-filtro {
        height: 30px;
        width: 30px;
        line-height: 30px;
        padding: 0px;
    }
    .nav-paginator .btn-filtro-bianco {
        height: 30px;
        width: 30px;
        line-height: 30px;
        padding: 0px;
    }
     .nav-paginator .btn-filtro-disabled {
        height: 30px;
        width: 30px;
        line-height: 30px;
        padding: 0px;
    }
    .container-grid-small{
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 40px;
    }
    .container-grid-small .grid-singolo{
        width: calc((100% - 40px) / 2);
    }
    .pezzo-singolo {
        flex-direction: column;
        gap: 40px;
    }
     .pezzo-singolo-image {
        width: 100%;
    }
    .pezzo-singolo-text {
        width: 100%;
    }
    .text-l{
        font-size: 30px;
        line-height: 35px;
    }
    .p-prezzo-grande{
        font-size: 30px;
        line-height: 35px;
    }
    .text-s{
        font-size: 15px;
        line-height: 20px;
    }
     .p-prezzo{
        font-size: 15px;
        line-height: 20px;
    }
    .page.mt_220 {
        margin-top: 160px;
    }
    .text-m {
        font-size: 20px;
        line-height: 30px;
    }
    .input, .select {
        height: 40px;
        line-height: 40px;
    }
    .input-nero {
        height: 40px;
    }
    .textarea {
        height: 80px;
    }
    .text-indirizzi {
        font-size: 10px;
        line-height: 15px;
    }
    .form-row .w_60pe,
    .form-row .w_40pe,
    .form-row .w_50pe,
    .form-row .w_95pe,
    .form-row .w_5pe {
        width: 100%;
    }
    .text-right {
        text-align: left;
    }
    .plr_20 {
        padding: 20px 0px;
    }
    .cart-header{
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .cart.cart-header{
        gap: 0px;
    }
}

@media only screen and (min-width:220px) and (max-width: 1800px) {
    .btn-oro{
        min-width: unset;
    }
}

.breadcrumb {
    list-style: none;
    margin: 0;
    padding: 0;
}
.breadcrumb li {
    display: inline;
}