/* =========================
   VARIABILI (Design System)
========================= */

:root{

    --black:#0D0D0D;
    --white:#FFFFFF;
    --cream:#FAF7F2;
    --sand:#F1EBE1;
    --gold:#C7A463;
    --gold-dark:#A8884C;
    --olive:#556B2F;
    --wine:#4A0D1A;
    --rose:#C87CA5;

    --text:#1d1d1d;
    --text-soft:#5a5550;

    --font-title:"Cormorant Garamond", serif;
    --font-text:"Inter", sans-serif;

    --ease:cubic-bezier(.22,.61,.36,1);
    --radius:18px;

}

/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    -webkit-text-size-adjust:100%; /* iPhone: niente ingrandimento automatico del testo in orizzontale */
    text-size-adjust:100%;
    scroll-padding-top:80px;
}

body{

    background:var(--cream);

    color:var(--text);

    font-family:var(--font-text);

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

}

body.no-scroll{
    overflow:hidden;
}

img{

    display:block;

    max-width:100%;

}

a{

    text-decoration:none;

    color:inherit;

}

button{

    font:inherit;

}

/* =========================
   LAYOUT COMUNE
========================= */

.container{
    max-width:1200px;
    margin:0 auto;
    padding:0 40px;
}

section{
    padding:120px 0;
}

h2{
    font-family:var(--font-title);
    font-weight:400;
    font-size:3.2rem;
    line-height:1.1;
    margin-bottom:24px;
}

.section-subtitle{

    display:block;

    color:var(--gold-dark);

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:.8rem;

    font-weight:500;

    margin-bottom:15px;

}

.section-head{
    text-align:center;
    max-width:640px;
    margin:0 auto 70px;
}

.section-head p{
    color:var(--text-soft);
    font-size:1.1rem;
    line-height:1.8;
}

/* Avviso mostrato solo aprendo il sito come file (js/main.js) */
.file-notice{
    position:fixed;
    left:16px;
    right:16px;
    bottom:16px;
    z-index:3000;
    max-width:560px;
    margin:0 auto;
    padding:16px 48px 16px 18px;
    border-radius:14px;
    background:#1F1D1B;
    color:#F1EBE1;
    font-size:.9rem;
    line-height:1.6;
    box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.file-notice strong{
    display:block;
    color:var(--gold);
    margin-bottom:4px;
}
.file-notice code{
    padding:1px 6px;
    border-radius:5px;
    background:rgba(255,255,255,.1);
}
.file-notice button{
    position:absolute;
    top:10px;
    right:12px;
    border:none;
    background:none;
    color:#F1EBE1;
    font-size:1.4rem;
    cursor:pointer;
}

/* Telefono: niente velo scuro/colorato quando si toccano i modelli 3D e le card,
   niente selezione o menu con il tocco prolungato sulle bottiglie */
canvas,
.bottle3d,
.gift3d,
.gift-viewer,
.wine-card,
.hero-scene{
    -webkit-tap-highlight-color:transparent;
}

canvas{
    -webkit-user-select:none;
    user-select:none;
    -webkit-touch-callout:none;
}
