@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--bg:#fcf9fa;--ink:#432b39;--plum:#542c42;--muted:#7c6874;--rose:#ad637a;--line:#e9dfe4;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a,select{touch-action:manipulation}button,a{transition:background .2s,color .2s,transform .2s}button{cursor:pointer}a{color:inherit}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-family:var(--serif);font-size:23px;line-height:1.25}.brand-mark{height:46px;width:46px;border:1px solid #cda6b6;border-radius:50%;display:grid;place-content:center;font-style:italic;font-size:33px;padding-bottom:6px;color:var(--rose)}.brand-caption{display:block;font:9px var(--sans);letter-spacing:2px;margin-top:6px;color:var(--muted)}.share-button{background:transparent;border:1px solid #cfbac4;border-radius:30px;padding:11px 19px;font-size:12px;font-weight:500}.share-button span{margin-left:14px}.share-button:hover{background:#f0e4e9}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center;min-height:590px;padding-block:66px 80px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;color:var(--rose);margin:0 0 20px}.eyebrow>span{font-size:20px;vertical-align:middle;margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(48px,5.1vw,73px)/1.13 var(--serif);letter-spacing:-2.5px;margin-bottom:24px}h1 em{font-weight:400;color:var(--rose)}.intro{max-width:495px;color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:28px}.primary{display:inline-flex;gap:34px;align-items:center;padding:14px 23px;background:var(--plum);color:#fff;border-radius:4px;text-decoration:none;font-size:12px}.primary:hover{background:#713e58;transform:translateY(-2px)}.hero-note{font-size:10px;color:var(--muted);margin:15px 0 0}.hero-art{height:390px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse,#f0d9e1 0,transparent 70%)}.art-orbit{position:absolute;width:320px;height:360px;border:1px solid #e2c3cf;border-radius:50% 50% 46% 46%;transform:rotate(22deg)}.wish-note{position:relative;width:255px;height:320px;background:linear-gradient(140deg,#fff,#fff8fa);border:1px solid #e8d4dc;box-shadow:8px 18px 40px #5c294416;transform:rotate(-7deg);display:flex;align-items:center;flex-direction:column;padding:27px 15px;outline:1px solid #eddee4;outline-offset:-11px}.note-eyebrow{font-size:8px;letter-spacing:2.7px;color:var(--muted)}.note-script{font:italic 31px var(--serif);margin-top:17px}.note-bottom{font-size:8px;letter-spacing:.3px;margin-top:22px;color:var(--muted)}.gift{width:122px;height:124px;position:relative;margin-top:22px}.gift-box{position:absolute;left:9px;bottom:0;width:104px;height:78px;background:linear-gradient(100deg,#dba9ba,#edcbd7);border:1px solid #ce98ad;box-shadow:4px 7px 10px #91587212}.gift-lid{position:absolute;bottom:70px;width:122px;height:19px;background:#e8bbcc;border:1px solid #ce98ad;z-index:2}.gift-ribbon{position:absolute;width:18px;height:89px;background:#a75e78;left:52px;bottom:0;z-index:3}.gift-bow:before,.gift-bow:after{content:'';position:absolute;left:25px;top:6px;width:40px;height:26px;border:7px solid #a75e78;border-radius:65% 65% 0 65%;transform:rotate(12deg)}.gift-bow:after{left:59px;transform:scaleX(-1) rotate(12deg)}.art-spark{position:absolute;color:#b78398;font-family:var(--serif);font-size:45px;z-index:2}.spark-one{top:3px;right:36px}.spark-two{bottom:46px;left:35px;font-size:29px}.art-caption{position:absolute;bottom:-15px;font-size:8px;letter-spacing:2.5px;color:var(--muted)}.collection{padding-block:34px 68px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.section-heading .eyebrow{margin-bottom:10px}h2{font:400 33px/1.3 var(--serif);letter-spacing:-.6px;margin-bottom:0}.total{font-size:11px;color:var(--muted);margin-bottom:5px;white-space:nowrap}.demo-note{background:#f4e9ee;border:1px solid #e9d7e0;padding:10px 15px;border-radius:4px;font-size:11px;color:#75515f;margin-top:23px;margin-bottom:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}.categories{display:flex;gap:7px;flex-wrap:wrap}.chip{font-size:11px;padding:8px 14px;border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--muted)}.chip[aria-pressed=true]{background:var(--plum);color:#fff;border-color:var(--plum)}.chip:hover{border-color:var(--rose)}.selects{display:flex;gap:14px}.selects label{font-size:9px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.selects select{font-size:11px;color:var(--ink);padding:4px 20px 4px 0;border:0;background:transparent;max-width:180px}.results{font-size:10px;color:var(--muted);margin:15px 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.card{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #542c420b}.card-visual{position:relative;aspect-ratio:1.43;display:grid;place-items:center;background:var(--tile,#f3e8ed);overflow:hidden}.card-visual:after{content:'';position:absolute;border:1px solid #ffffff88;border-radius:50%;height:160px;width:160px;pointer-events:none}.card-visual img{height:100%;width:100%;object-fit:contain;position:absolute;background:#fff;padding:16px}.card-visual.has-image:after{display:none}.item-art{width:105px;height:105px;color:var(--art,#a8758c);filter:drop-shadow(3px 8px 5px #542c4212);z-index:1}.badge{position:absolute;left:13px;top:13px;z-index:2;border-radius:30px;background:#fffefa;padding:4px 10px;font-size:9px;color:#674352;border:1px solid #ead9df}.badge.received{background:#edf2eb;color:#466142}.card-body{padding:21px;display:flex;flex-direction:column;flex:1}.card-category{font-size:8px;letter-spacing:1.9px;text-transform:uppercase;color:var(--rose);margin-bottom:7px}.card h3{font:400 23px/1.3 var(--serif);margin-bottom:10px}.card-description{font-size:12px;color:var(--muted);line-height:1.8;flex:1;margin-bottom:13px}.card-note{font-size:10px;color:var(--muted);background:#faf6f8;padding:7px 9px;border-radius:3px;margin-bottom:17px}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #f0e9ec;padding-top:15px}.price{font-size:16px;font-weight:500}.price small{font-size:9px;font-weight:400;display:block;color:var(--muted)}.product-link{border:1px solid #d4bcc7;border-radius:4px;padding:8px 12px;font-size:10px;text-decoration:none;white-space:nowrap}.product-link:hover{background:var(--plum);color:white;border-color:var(--plum)}.placeholder-link{font-size:10px;color:var(--muted)}.closing{border-top:1px solid var(--line);display:flex;align-items:center;gap:32px;padding-block:43px 47px}.closing-heart{font-size:66px;color:#b58398;font-weight:400;line-height:1}.closing h2{font-size:27px;margin-bottom:10px}.closing p{font-size:12px;color:var(--muted);max-width:680px;margin-bottom:0}.closing p.small{font-size:11px;margin-top:8px}footer{padding-block:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}footer p{margin:0}footer span{margin-left:10px;color:var(--rose)}.empty{text-align:center;padding:60px 20px}.empty>span{font-size:40px;color:var(--rose)}.empty h3{font:27px var(--serif);margin-bottom:10px}.empty p{font-size:13px;color:var(--muted)}.empty button{border:1px solid #cfbac4;background:transparent;padding:10px 16px;border-radius:5px;color:var(--ink)}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--plum);color:white;padding:12px 20px;border-radius:5px;font-size:12px;pointer-events:none;transition:.2s;max-width:90vw;z-index:10}.toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}:focus-visible{outline:3px solid #ab637e;outline-offset:4px}.skip{position:absolute;top:10px;left:10px;background:#fff;padding:10px;z-index:20;transform:translateY(-180%)}.skip:focus{transform:translateY(0)}
@media(min-width:1500px){.hero{min-height:650px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:25px}.hero-art{transform:scale(.9)}.grid{gap:17px}.card-body{padding:17px}.card h3{font-size:21px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:88px}.hero{grid-template-columns:1fr;gap:10px;padding-block:45px 35px;min-height:0}.hero-copy{max-width:540px}h1{font-size:55px}.hero-art{height:300px;transform:scale(.8);margin:-15px 0 -8px}.hero-note{font-size:10px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start}h2{font-size:27px}.total{padding-top:8px}.toolbar{gap:17px}.selects{width:100%;justify-content:space-between}.selects label{width:48%}.selects select{max-width:100%}.card-bottom{align-items:flex-start;flex-direction:column;gap:10px}.product-link{text-align:center;width:100%}.closing{gap:19px}.closing-heart{font-size:45px}.closing h2{font-size:24px}footer{font-size:9px}}
@media(max-width:430px){.share-button{font-size:10px;padding:9px 11px}.share-button span{margin-left:5px}.brand{font-size:20px;gap:9px}.brand-mark{width:37px;height:37px;font-size:28px}.brand-caption{font-size:7px}h1{font-size:48px}.eyebrow{font-size:9px}.grid{grid-template-columns:1fr;gap:22px}.card-visual{aspect-ratio:1.65}.card-bottom{align-items:center;flex-direction:row}.product-link{width:auto}.card-body{padding:21px}.card h3{font-size:25px}.card-description{font-size:13px}.total{display:none}.closing{align-items:flex-start}footer{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Selettore lingua IT / EN */
.header-actions{display:flex;align-items:center;gap:20px}.language-switch{display:flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:30px;padding:3px}.language-switch button{border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:600;padding:7px 10px;border-radius:20px}.language-switch button[aria-pressed="true"]{background:var(--plum);color:#fff}.language-switch button:hover{background:#f0e4e9;color:var(--plum)}
@media(max-width:600px){.header-actions{gap:8px}.language-switch button{padding:6px 8px}.share-button{max-width:145px}.site-header{gap:10px}}
@media(max-width:360px){.site-header{height:auto;min-height:88px;flex-wrap:wrap;padding-block:15px;gap:15px}.header-actions{margin-left:auto}.brand-caption{letter-spacing:1px}}

/* Stato dei regali condiviso */
.status-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.status-tabs button{border:1px solid #d4bcc7;padding:10px 17px;border-radius:5px;color:var(--plum);background:transparent;font-size:12px}.status-tabs button[aria-pressed="true"]{background:var(--plum);color:white}.sync-info{display:flex;align-items:center;gap:12px;margin-top:13px}.sync-info p{font-size:11px;color:var(--muted);margin:0}.sync-info button{background:white;border:1px solid #d4bcc7;border-radius:4px;padding:6px 12px;color:var(--plum);white-space:nowrap}.gift-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.gift-action{width:100%;border:1px solid var(--plum);background:var(--plum);color:white;border-radius:4px;padding:11px;font-size:12px}.gift-action:hover{background:#713e58}.release-action{border:0;background:transparent;color:var(--muted);font-size:10px;padding:5px}.gift-action:disabled,.release-action:disabled{opacity:.5;cursor:wait}.gift-thanks{font-size:12px;color:#466142}html[lang="en"] .note-script{font-size:29px}

.card-visual.has-image .item-art{display:none}.card h3{font-size:21px;overflow-wrap:anywhere}.card-description{overflow-wrap:anywhere}.card-note{overflow-wrap:anywhere}.price{font-size:14px}.product-search{display:block;width:100%;margin-top:22px;padding:13px 16px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:#fff;font:13px var(--sans)}.quantity-label{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.quantity-input{width:70px;border:1px solid #d4bcc7;border-radius:4px;padding:8px;color:var(--ink);background:white;font:13px var(--sans)}.single-quantity,.gift-quantity{font-size:11px;color:var(--muted);margin:0;width:100%}.shipping{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;border-top:1px solid var(--line);padding-block:43px}.shipping h2{font-size:29px;margin-bottom:15px}.shipping p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:560px}.shipping .shipping-note{font-size:11px!important}.address-card{background:#f3e9ee;border:1px solid #e3cfd9;border-radius:7px;padding:24px 28px}.address-card address{font-style:normal;font-size:15px;line-height:1.8}.address-card button{margin-top:16px;border:1px solid #c9a7b7;border-radius:4px;background:transparent;color:var(--plum);padding:9px 15px;font-size:11px}@media(max-width:650px){.shipping{grid-template-columns:1fr;gap:12px}.card h3{font-size:22px}}
/* Navigazione comune */
.profile-nav{display:flex;gap:20px;align-items:center;padding-block:16px 0;font-size:12px;color:var(--muted)}.profile-nav a{text-decoration:none;padding:5px 1px}.profile-nav a[aria-current="page"]{color:var(--plum);border-bottom:1px solid var(--rose);font-weight:600}.profile-nav .stella-nav{color:#a45676}.profile-nav .roy-nav{color:#3b7da8}.profile-nav>span{opacity:.45}
/* La stessa wishlist, nei toni azzurri di Roy */
html[data-profile="roy"]{--bg:#f7fbfe;--ink:#24435b;--plum:#285c86;--muted:#677f91;--rose:#5c98c0;--line:#dce8f0}
html[data-profile="roy"] .brand-mark{border-color:#a7c7dd;color:#5c98c0}html[data-profile="roy"] .share-button{border-color:#b4cbdd}html[data-profile="roy"] .share-button:hover,html[data-profile="roy"] .language-switch button:hover{background:#e5f0f8}html[data-profile="roy"] .hero-art{background:radial-gradient(ellipse,#d8eaf6 0,transparent 70%)}html[data-profile="roy"] .art-orbit{border-color:#b6d4e8}html[data-profile="roy"] .wish-note{background:linear-gradient(140deg,#fff,#f1f8ff);border-color:#c7ddea;outline-color:#d6e7f3;box-shadow:8px 18px 40px #285c8616}html[data-profile="roy"] .art-spark{color:#75a5c8}html[data-profile="roy"] .gift-box{background:linear-gradient(100deg,#9fc5e0,#c6dff0);border-color:#90b6d2}html[data-profile="roy"] .gift-lid{background:#b3d4eb;border-color:#90b6d2}html[data-profile="roy"] .gift-ribbon{background:#568bb5}html[data-profile="roy"] .gift-bow:before,html[data-profile="roy"] .gift-bow:after{border-color:#568bb5}html[data-profile="roy"] .primary:hover,html[data-profile="roy"] .gift-action:hover{background:#3577a8}html[data-profile="roy"] .closing-heart{color:#78a6c7}html[data-profile="roy"] .empty button,html[data-profile="roy"] .status-tabs button{border-color:#b4cbdd}html[data-profile="roy"] .status-tabs button[aria-pressed="true"]{border-color:var(--plum)}html[data-profile="roy"] :focus-visible{outline-color:#5c98c0}
/* La pagina di benvenuto, con rosa e azzurro in equilibrio */
.home-page{background:radial-gradient(ellipse at 17% 40%,#f7e6ee99,transparent 47%),radial-gradient(ellipse at 83% 40%,#e1f0fa99,transparent 47%),#fcfafc;color:#3d3b4b}.home-page .site-header{height:94px}.couple-brand .brand-mark{font-size:25px;width:51px;height:51px;background:linear-gradient(135deg,#f8e7ef,#e6f1fa);border-color:#d8ccd8;color:#7b6a83}.home-page .brand-caption{color:#837689}.home-page .language-switch button[aria-pressed="true"]{background:#62556e}.welcome{text-align:center;padding-top:36px;padding-bottom:25px;position:relative}.welcome .eyebrow{margin-bottom:12px;color:#9a758b;font-size:9px}.welcome h1{font-size:clamp(37px,4.8vw,59px);line-height:1.15;letter-spacing:-1.7px;margin-bottom:15px}.welcome h1 em{color:#a87590}.welcome-intro{max-width:520px;margin:0 auto 26px;color:#7a7180;font-size:13px;line-height:1.8}.couple-photo{position:relative;margin:0 auto;width:min(340px,78vw);padding:9px 9px 38px;background:#fff;border:1px solid #e5dce5;border-radius:13px;box-shadow:0 14px 45px #5d486b12;transform:rotate(-1.5deg)}.couple-photo img{display:block;width:100%;height:330px;object-fit:cover;object-position:50% 43%;border-radius:7px}.couple-photo figcaption{position:absolute;bottom:9px;left:0;right:0;font:italic 20px var(--serif);color:#6a546d;letter-spacing:.4px}.couple-photo figcaption span{font-size:15px;margin:0 5px;color:#8e9db5}.welcome-prompt{font-size:12px;margin:27px 0 12px;color:#7a7180}.wishlist-choices{display:flex;justify-content:center;gap:16px;max-width:510px;margin-inline:auto}.choice{flex:1;min-width:0;text-align:left;text-decoration:none;border-radius:7px;border:1px solid;padding:15px 22px;transition:transform .2s,box-shadow .2s}.choice:hover{transform:translateY(-3px);box-shadow:0 8px 18px #5d486b0b}.stella-choice{color:#7f3d5c;border-color:#ddbdcc;background:#f5e6ed}.roy-choice{color:#285c86;border-color:#b9d5e8;background:#e6f1f9}.choice-caption{display:block;font-size:8px;letter-spacing:1.8px;font-weight:600;margin-bottom:1px}.choice-name{display:flex;align-items:center;justify-content:space-between;gap:20px;font:26px var(--serif)}.choice-name>span{font:19px var(--sans);opacity:.65}.welcome-note{margin:15px 0 0;color:#8b8290;font-size:10px}.home-footer{font-size:10px;color:#8b8290;padding-block:20px;margin-top:5px}
@media(max-width:600px){.home-page .site-header{height:85px}.welcome{padding-top:30px}.welcome .eyebrow{font-size:8px;letter-spacing:1.7px}.welcome h1{font-size:40px}.welcome-intro{font-size:12px;max-width:340px}.couple-photo{width:min(310px,83vw)}.couple-photo img{height:305px}.wishlist-choices{gap:11px}.choice{padding:14px 15px}.choice-name{font-size:25px}.choice-caption{font-size:7px;letter-spacing:1.3px}.profile-nav{gap:17px}}
@media(max-width:350px){.couple-photo img{height:280px}.welcome h1{font-size:35px}.wishlist-choices{flex-direction:column}.choice{padding:12px 18px}}

.welcome-intro{margin-bottom:11px;max-width:580px}.welcome-help{max-width:580px;margin:0 auto 25px;color:#7a7180;font-size:13px;line-height:1.8}.welcome h1{max-width:800px;margin-inline:auto}@media(max-width:600px){.welcome-help{font-size:12px;max-width:350px}}
