html, body{height: 100%;}
body { font-family: system-ui, Arial; margin:0; }
.container { width: 100%; margin: 0 auto; padding: 0 }
.container > a{top: 0; padding: 10px; position: absolute; left: 50%; transform: translateX(-50%)}
.container > a > img{height: 38px}

main{max-width: 980px}
main[data-controller="shop"]{max-width: 100%;}

[data-scaffold="pages"]{display: flex; flex-direction: column;}
[data-scaffold="pages"] footer {margin-top: auto;}
main[data-controller="pages"]{padding: 0 20px; margin-bottom: 40px}
/*Body scaffold*/
body[data-scaffold="cart"] footer, body[data-scaffold="orders"] footer{position: absolute; bottom: 0}

/*CART table*/
main[data-controller="cart"] tr td:first-of-type{width: 12%}
main[data-controller="cart"] tr td:last-of-type,
main[data-controller="cart"] tr th:last-of-type{padding-right: 20px; text-align: right;}

/* 10px spazio verticale */
main[data-controller="cart"] table{border-collapse: separate;border-spacing: 0 10px;}
main[data-controller="cart"] .cart-thumb{width: 80px; border-radius: 12px; }
main[data-controller="cart"] span.muted{display: block; line-height: 30px}
main[data-controller="cart"] th, main[data-controller="cart"] td{border: none}
main[data-controller="cart"] tbody tr{background: #eee; }
main[data-controller="cart"] tbody tr td{border: none;}
main[data-controller="cart"] tbody tr td:first-of-type{border-radius: 20px 0 0 20px}
main[data-controller="cart"] tbody tr td:last-of-type{border-radius: 0 20px 20px 0}
main[data-controller="cart"] td.cart--quantity{width: 100px}
main[data-controller="cart"] form button{margin: 0}

main > h1{display: none}
.item--cart{float: right; }
.header { padding: 0 20px; font-family: "Montserrat", sans-serif;  height: max-content;border-bottom: 1px solid #ddd; background: #fff; position: sticky; top:0;z-index: 20}
.header__row { display:flex; justify-content: space-between; align-items:center; gap: 16px; }
.nav{width: 100%;}
.nav a {color: #323232; text-decoration:none; padding: 20px 15px; display: inline-block;}
.brand { font-weight: 700; text-decoration:none; }
.grid { max-width: 980px; margin: 0 auto; margin-top: 80px;}
main .grid .card { width: 33%; float: left; display: inline-block; padding: 4px ;}

.table { width:100%; border-collapse: collapse; }
.table th, .table td { border:1px solid #ddd; padding: 8px; text-align:left; }
.row { display:flex; gap: 12px; align-items:center; }
.btn { display:inline-block; padding: 8px 12px; border: 1px solid #333; border-radius: 8px; text-decoration:none; }
.btn--ghost { background: transparent; }
.inline { display:inline; }
.error { color: #b00020; }
input, textarea, button { display:inline-block; width:100%; max-width: 420px; margin: 6px 0 12px; padding: 8px; }
button { width: auto; cursor: pointer; }
.col--single-product button.size{margin: 0}
.grid .card h2.muted{font-size: 0.9em}
.grid .card h3{margin: 10px 0}

.menu--secondary{list-style: none; padding: 0;}
.menu--secondary li{display: inline-block;}
.menu--secondary a{ color: #333; text-decoration: none; padding: 5px 20px}
.card--desc{color: #5d5b59; padding: 20px;font-family: "Roboto", sans-serif; text-transform: uppercase;font-optical-sizing: auto;font-style: normal;font-weight: lighter;font-variation-settings:  "wdth" 100;}


section{max-width: 980px; margin: 0 auto;}
.product-card {transition: transform .2s ease, box-shadow .2s ease;}
.product-card {position: relative;}
.product-card.is-soldout .card--desc{opacity: 0.6}
.product-card.is-soldout::before {content: "SOLD OUT";position: absolute;top: 12px;left: 12px;background: #111;color: #fff;font-size: 12px;padding: 6px 10px;border-radius: 6px;z-index: 3;letter-spacing: 1px;}
.product-card:hover{cursor: pointer;transform: translateY(-2px);box-shadow: 0 10px 25px rgba(0,0,0,0.08);}

.section--slide {position: relative;overflow: hidden;display: flex;max-width: 100%;justify-content:  end;   /* centro orizzontale */align-items: center;       /* centro verticale */min-height: 650px;height: 100%;        /* altezza se vuoi centratura verticale */text-align: center;}

.section--slide img {max-width: 100%;height: auto;object-fit: contain;position: absolute;top:7%;transform: scale(1.15);z-index: 0}

.caption--slide {font-family: "Montserrat", sans-serif;font-optical-sizing: auto;font-style: normal;display: grid;position: absolute;left: 50%;/*height: 100%;*/top: 28%;transform: translateY(-50%) translateX(-50%);color: #333;padding: 30px;width: max-content;height: 270px;backdrop-filter: blur(6px);}

.caption--slide h2 {margin: 0 0 10px 0;font-size: 2em;margin: 0;letter-spacing: 0;font-weight: 200;}

.caption--slide strong {padding:15px 35px;font-optical-sizing: auto;font-weight: normal;font-style: normal;text-transform: uppercase;letter-spacing: -1px;display: block;font-size: 3em;margin: 30px 0;width: auto;height: max-content;background: linear-gradient(to top,#313131,#212121);margin: 0 auto;color: #eee}

.caption--slide p {font-family: "Playfair Display", serif;margin: 0;font-size: 2em;opacity: 1;}

.nav--item.item--cart {position: relative;display: inline-flex;align-items: center;}

.cart-badge {position: absolute;top: 18px;right: 5px;min-width: 13px;height: 13px;padding: 0 3px;border-radius: 999px;font-size: 10px;line-height: 13px; box-shadow:  0 0 0 0.5px #fff; text-align: center;background: #e11d48;color: #fff;font-weight: 700;}


.link--login > i{display: none}
footer{width: 100%; align-items: center; border-top: solid 1px #aaa; margin-top: 80px}
footer .footer--container{max-width: 980px; min-width: 450px; margin: 0 auto}
footer .col{display: inline-block; width: 100%; float: left; text-align: center;color: #aaa;}
footer .col > li {display: inline-block}
footer .col > li > a{ padding: 4px 10px; color: #aaa;  line-height: 40px}
footer p#copyright{text-align: center; color: #aaa;}
.link--register{margin-right: 30px;}
.link--admin{float: right;}
.link--mail{color: #7a4925}
/* Upload panel */
.panel{margin-top:10px;padding-top:10px;border-top:1px dashed #ddd}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.loader{display:none;color:#555}
.loader.on{display:inline-block}
.thumb{max-width:100%;height:auto}
.strike{text-decoration:line-through;color:#777;margin-right:6px}
.price{font-weight:700}
.images{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0}
.btn{display:inline-block;padding:6px 10px;border:1px solid #111;border-radius:8px;text-decoration:none}
.muted{color:#666}


.note{display: none;background:#ebe0d3; border:1px solid #aa9983;color:#5b534a;padding:10px;border-radius:10px;margin:12px 0}

.col--single-product{max-width: 980px !important; margin: 0 auto; float: initial !important;margin-top: 40px;}
.col--single-product > .col:last-of-type{padding: 0px 40px}
.col--single-product .images{overflow-x: scroll;height: auto;}
.col--single-product .images > img{max-width: 500px;}
.col--single-product .images > img:last-of-type{}


/*checkout*/
#checkoutForm > .col > button{margin-top: auto; width: 100%}
#checkoutForm > .col >label {display: block;padding: 10px;background: #eee;border-radius: 3px; margin-bottom: 5px}
#checkoutForm label:last-of-type{margin-bottom: 25px}
#checkoutForm input{margin: 10px 20px 0 0; display: inline-block; width: auto}
#checkoutForm label img{float: right}
#emailBox input,
#shippingBox input{display: block;max-width: 100%;border-radius: 18px;background: #eee;border: solid 1px #aaa;padding: 10px 20px;font-size: 14px;width: 100%; }
#shippingBox {}
#shippingBox > div{padding: 0 10px}
[data-controller="orders"]{margin-top: 50px}
[data-controller="orders"] > .form--shipping{width: 100%; display: inline-block; float: left; padding: 0 10px}
[data-controller="orders"] > .form--shipping{}
#shippingBox label,
#shippingBox > h3{padding: 0 10px;}

.form-row{display: block; }
.form-row label{float: left; display: inline-block; padding: 20px 10px}
.form-row input{float: right; display: inline-block;}
#checkoutForm .form-row input{background: #eee; border: solid 1px #ddd; border-radius: 10px; text-transform: uppercase; font-size: 16px; margin: 10px 0 !important; width: 50%}


.button--checkout,
.button--drop,
.button--add-cart,
.button--classic,
.input--select-quantity,
.nav .button--classic,
main[data-controller="cart"] input[name="quantity"]{color: #666; margin: 0; background: #fff;border: solid 1px #aaa;border-radius: 20px;padding: 10px 20px; font-size: 15px}
.button--checkout{background: #323232;max-width: 100%; color: #eee}
.btn--ghost.button--classic{color: #aaa}


.button--100w{width: 100%}
[data-mini-cart] .button--accent-brown{width: 60%;text-align: center;}
[data-mini-cart] form{width: 40%; }
[data-mini-cart] .button--drop{width: 100%; text-align: center;}


.button--accent-brown,
.nav .button--accent-brown{color: #fff; background:#a77540; border: solid 1px #4d3c28; font-weight: normal}

/*Dots*/
.col--gallery { width: 100%; }
.dots {display: flex;gap: 10px;justify-content: center;margin-top: 10px;}
.dot {width: 10px;height: 10px;border-radius: 999px;border: 0;background: rgba(0,0,0,0.25);cursor: pointer;padding: 0;}
.dot.is-active {background: rgba(0,0,0,0.8);transform: scale(1.15);}

/*snap*/
.images--snap {display: flex;overflow-x: auto;overflow-y: hidden; scroll-snap-type: x mandatory;   /* "aggancia" in orizzontale */scroll-behavior: smooth;         /* animazione */-webkit-overflow-scrolling: touch;gap: 0; /* niente spazio tra immagini */width: 100%;}
.images--snap img {flex: 0 0 100%; width: 100%;height: auto;scroll-snap-align: start;object-fit: cover; user-select: none;pointer-events: none;}

/* opzionale: nascondi scrollbar (non obbligatorio) */
.images--snap::-webkit-scrollbar { display: none; }
.images--snap { scrollbar-width: none; }

/*SIZE*/
.sizes { margin: 16px 0; }
.sizes__label { font-weight: 600; margin-bottom: 8px; }
.sizes__grid { display: flex; gap: 8px; flex-wrap: wrap; }
.size {border: 1px solid #ddd;background: #fff;padding: 10px 22px;border-radius: 4px;cursor: pointer;}
.size.is-selected {border-color: #111;box-shadow: 0 0 0 1px #111 inset;}

.col--price > span > p{text-align: right; font-size: 1.1em}

[data-mini-cart]{transition: all ease 0.3s; border-radius: 15px}

[data-mini-cart]:hover{background: #eee}
/*MINI cart*/
.nav-cart { position: absolute; top: 0; right: 15px }
.mini-cart {position: absolute;right: 0;top: calc(100% + 0px);width: 360px;max-width: calc(100vw - 24px);background: #fff;border: 1px solid #ddd;border-radius: 14px;box-shadow: 0 18px 40px rgba(0,0,0,0.12);display: none;z-index: 9999;}
.mini-cart.is-open { display: block; }
.mini-cart__inner { padding: 12px; }
.mini-cart__item { display:flex; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid #eee; }
.mini-cart__item:last-child { border-bottom: 0; }
.mini-cart__thumb { width:52px; height:52px; border-radius:10px; object-fit:cover; border:1px solid #eee; }
.mini-cart__name { font-weight: 600; }
.mini-cart__meta { font-size: 12px; color: #666; }
.mini-cart__footer { margin-top: 10px; display:flex; gap:10px; }
.mini-cart__footer .btn { flex: 1; text-align:center; }

/*.btn { display:inline-block; padding:10px 12px; border-radius:10px; border:1px solid #111; text-decoration:none; color:#111; background:#fff; cursor:pointer; }
.btn--primary { background:#111; color:#fff; }
.btn--danger { border-color:#c00; color:#c00; }*/

/*Category style*/
.category-bar{display:flex;gap:10px;overflow-x:auto;padding:5px 0;border-bottom: 1px solid #eee;-webkit-overflow-scrolling: touch;}
.category-bar .cat{white-space: nowrap;padding:5px 12px;border-radius: 999px;/*border: 1px solid #ddd;*/text-decoration:none;color:#111;}
/*.category-bar .cat.is-active{border-color:#111;background:#111;color:#fff;}*/
.badge--draft {background: #eee;color: #666;font-size: 11px;padding: 4px 8px;border-radius: 6px;}

.badge--live {font-size: 13px; font-weight: bolder; padding: 4px 8px;border-radius: 6px;}
.nav__container{width: 980px; min-width: 540px; margin: 0 auto;}

.thumb-preview img{width: 100px;height: 100px;object-fit: cover;border-radius: 12px;border: 1px solid #eee;margin: 6px 0 14px;}

.admin--welcome,
.link--admin{margin-right: 70px; position: absolute; right: 0px;}
.admin--welcome{padding: 20px; right: 20px;}

.item--hamb{display: none}
.menu--secondary > li > a{position: relative; }
.menu--secondary > li > a.is-active::before{left: 50%; transform: translateX(-50%); top:-40%; border-radius: 2px;width: 60%; height: 5px; position: absolute; content: ""; background: rgba(0,0,0,0.4)}
.menu--secondary > li > a.is-active::after{top: 0%; border-radius: 2px;width: 3px; height: 100%; position: absolute; content: ""; background: rgba(0,0,0,0.4); display: none}

.menu--secondary .col--info,
.menu--secondary .copyright{display: none}

.item--close-menu{display: none !important; }

/*ADMIN*/
[data-scaffold="adminProducts"]{background: #eee; font-size: 16px}
[data-scaffold="adminProducts"] form.col {padding: 40px }
[data-scaffold="adminProducts"] form.col > .col{padding: 20px; width: 30%; min-width: 350px;}
[data-scaffold="adminProducts"] form > .col:first-of-type{width: 40%}
[data-scaffold="adminProducts"] form > .col:last-of-type{width: 30%; background: #fff; border: solid 1px #ddd; border-radius: 25px}
[data-scaffold="adminProducts"] input,
[data-scaffold="adminProducts"] textarea{max-width: 100%; font-size: 16px}
[data-scaffold="adminProducts"] textarea{height: 150px}
[data-scaffold="adminProducts"] textarea[name="attributes"]{height: 80px}
[data-scaffold="adminProducts"] main{max-width:  100%; padding: 20px}
/*----------------------------------COL---------------------------------*/

.col,
.col__1,.col__2,.col__3,.col__4,.col__5,.col__6,.col__7,.col__8,.col__9,.col__10,.col__11{display: inline-block;float: left; position: relative;z-index: 1}
.col__1{width:8.33%;}
.col__2{width:16.66%;}
.col__3,.show-left .col__3.order--menu-setting{width: 25%;}
.col__4{width: 33.33%;}
.col__5{width: 41.66%}
.col__6{width: 50%;}
.col__7{width: 58.33%;}
.col__8{width: 66.66%;}
.col__9,.show-left .col__9.content__tabs{width: 75%;max-width: 1650;left: 25%;margin: 0 auto;}
.col__10{width: 83.33%}
.col__12{width: 100%; display: block;}
.row{margin: 20px 0;}


/*----------------------------------EXTENSION---------------------------------*/

/*correction*/
.clearfix:after {visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0;}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

/*inner padding*/
*,
*:before,
*:after{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
