/* FASE 10 - account pubblici e community */
.user-button{min-height:42px;padding:0 14px;border:1px solid var(--pink-100);border-radius:14px;background:#fff6fa;color:var(--pink-500);font-weight:900;cursor:pointer;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.user-button.signed-in{background:var(--pink-50);color:var(--choco)}
.community-auth-dialog{width:min(460px,calc(100% - 24px));padding:0;border:0;border-radius:28px;background:transparent;color:var(--text)}.community-auth-dialog::backdrop{background:rgba(83,51,57,.42);backdrop-filter:blur(8px)}.community-auth-card{position:relative;padding:30px;border:1px solid var(--line);border-radius:28px;background:#fffafd;box-shadow:0 24px 70px rgba(74,41,50,.24)}.community-auth-card h2{margin:6px 0 8px}.community-auth-card p{margin:0 0 16px}.community-auth-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:0;border-radius:14px;background:var(--pink-50);font-size:24px;cursor:pointer}.community-auth-form{display:grid;gap:11px}.community-auth-form label{display:grid;gap:6px}.community-auth-form label span{font-size:11px;font-weight:900;color:var(--choco-soft);text-transform:uppercase;letter-spacing:.05em}.community-auth-form input{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px;color:var(--text);outline:none}.community-auth-form input:focus{border-color:var(--pink-300);box-shadow:0 0 0 4px rgba(239,159,189,.12)}.community-auth-switch{width:100%;margin-top:11px;border:0;background:transparent;color:var(--pink-500);font-weight:900;cursor:pointer}.community-auth-status{display:block;min-height:20px;margin-top:10px;color:var(--muted);text-align:center;line-height:1.4}
.community-section{padding:clamp(20px,3vw,30px);margin-top:18px}.community-panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.community-panel-head h2{margin:4px 0}.community-panel-head p{margin:4px 0 0}.community-like{min-width:120px}.community-like b{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:#fff;color:var(--pink-500);font-size:11px}.community-like.active{background:#d95a94;color:#fff}.community-like.active b{color:#d95a94}.community-comment-form{display:grid;gap:10px;margin:20px 0;padding:14px;border:1px solid var(--line);border-radius:20px;background:#fffafb}.community-comment-form label{display:grid;gap:7px}.community-comment-form label>span{font-size:11px;font-weight:900;color:var(--choco-soft);text-transform:uppercase;letter-spacing:.05em}.community-comment-form textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;font:inherit;color:var(--text);outline:none}.community-comment-form textarea:focus{border-color:var(--pink-300);box-shadow:0 0 0 4px rgba(239,159,189,.1)}.community-comment-form>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.community-comment-form small{color:var(--muted)}.community-comments{display:grid;gap:10px}.community-comment{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff}.community-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink-100),var(--cream));color:var(--choco);font-weight:950}.community-comment-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.community-comment-meta strong{color:var(--choco)}.community-comment-meta small{color:var(--muted);font-size:10px}.community-comment-meta button{margin-left:auto;border:0;background:transparent;color:#a54d61;font-size:11px;font-weight:900;cursor:pointer}.community-comment p{margin:5px 0 0;color:var(--choco-soft);line-height:1.6;white-space:pre-wrap}.community-empty{padding:22px;border:1px dashed var(--line);border-radius:16px;text-align:center;color:var(--muted)}
.account-page{width:min(1120px,calc(100% - 28px));margin:24px auto 90px}.account-grid{display:grid;grid-template-columns:minmax(300px,350px) minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}.account-profile,.account-favorites{padding:24px;min-width:0}.account-profile h1{max-width:100%;font-size:clamp(30px,3vw,38px);line-height:1.05;margin:6px 0 14px;overflow-wrap:anywhere}.account-identity{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#fff8fb,#fffaf4)}.account-avatar{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink-100),var(--cream));color:var(--choco);font-size:20px;font-weight:950}.account-identity div{min-width:0}.account-identity small{display:block;color:var(--pink-500);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.account-identity strong{display:block;margin-top:3px;color:var(--choco);font-size:18px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-profile-form{display:grid;gap:10px;margin-top:18px}.account-profile-form label{display:grid;gap:6px}.account-profile-form input{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;color:var(--text);font:inherit}.account-email{padding:10px 12px;border-radius:13px;background:var(--pink-50);color:var(--muted);font-size:12px;word-break:break-all}.account-favorites .section-head{align-items:center}.account-favorites .section-head>div{min-width:0}.account-favorites .section-head h2{overflow-wrap:anywhere}.account-favorite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px}.account-favorite-card{display:grid;grid-template-columns:80px 1fr;gap:11px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;color:inherit}.account-favorite-card img{width:80px;height:100%;min-height:90px;object-fit:cover;background:var(--pink-50)}.account-favorite-card span{padding:12px 10px 12px 0;display:grid;align-content:center;gap:4px}.account-favorite-card strong{color:var(--choco)}.account-favorite-card small{color:var(--muted)}
@media(max-width:980px){.topbar{grid-template-columns:auto 1fr auto auto}.user-button{display:inline-flex;align-items:center;justify-content:center}.account-grid{grid-template-columns:1fr}.account-profile{max-width:none}.account-favorites .section-head{align-items:center}}
@media(max-width:720px){.user-button{min-width:42px;max-width:84px;padding:0 9px;font-size:11px}.community-panel-head{align-items:flex-start;flex-direction:column}.community-like{width:100%}.community-comment-form>div{align-items:stretch;flex-direction:column}.community-comment-form .button{width:100%}.account-page{width:min(100% - 14px,720px);margin-top:8px}.account-favorite-grid{grid-template-columns:1fr}}
.topbar{grid-template-columns:auto 1fr minmax(220px,310px) auto auto}.detail-topbar{grid-template-columns:auto 1fr auto auto}
@media(max-width:980px){.topbar{grid-template-columns:auto 1fr auto auto}.detail-topbar{grid-template-columns:auto 1fr auto auto}}
@media(max-width:620px){.detail-topbar{grid-template-columns:auto 1fr auto}.detail-topbar .user-button{grid-column:3}.detail-topbar>a.button.secondary{display:none}}

@media(max-width:520px){.account-profile,.account-favorites{padding:18px}.account-favorites .section-head{align-items:flex-start;flex-direction:column}.account-favorites .catalog-count{align-self:flex-start}.account-identity strong{font-size:16px}.account-email{font-size:11px}}

/* FASE 10.1 - accesso dedicato e profilo integrato */
.community-profile-dialog{width:min(520px,calc(100% - 22px));max-height:min(820px,calc(100dvh - 24px));padding:0;border:0;border-radius:30px;background:transparent;color:var(--text);overflow:visible}.community-profile-dialog::backdrop{background:rgba(83,51,57,.42);backdrop-filter:blur(8px)}.community-profile-card{max-height:min(820px,calc(100dvh - 24px));overflow-y:auto;padding:24px;border:1px solid var(--line);border-radius:30px;background:#fffafd;box-shadow:0 24px 70px rgba(74,41,50,.24)}.community-profile-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.community-profile-head h2{margin:4px 0 0}.community-profile-close{width:42px;height:42px;border:0;border-radius:14px;background:var(--pink-50);color:var(--choco);font-size:25px;cursor:pointer}.profile-summary{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fff7fb,#fffaf1)}.profile-avatar{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink-100),var(--cream));color:var(--choco);font-size:25px;font-weight:950}.profile-summary-copy{min-width:0;display:grid;gap:2px}.profile-summary-copy small{color:var(--pink-500);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.profile-summary-copy strong{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-summary-copy span{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-inline-form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin-top:14px}.profile-inline-form label{display:grid;gap:6px}.profile-inline-form label span{font-size:10px;font-weight:900;color:var(--choco-soft);text-transform:uppercase;letter-spacing:.05em}.profile-inline-form input{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px;color:var(--text);font:inherit;outline:none}.profile-inline-form input:focus{border-color:var(--pink-300);box-shadow:0 0 0 4px rgba(239,159,189,.12)}.profile-favorites-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:20px 0 10px}.profile-favorites-head h3{margin:3px 0 0}.profile-favorites-list{display:grid;gap:8px}.profile-favorite-item{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;min-width:0;padding:7px;border:1px solid var(--line);border-radius:16px;background:#fff;color:inherit}.profile-favorite-item img,.profile-favorite-placeholder{width:62px;height:58px;border-radius:12px;object-fit:cover;background:var(--pink-50)}.profile-favorite-item>span:last-child{min-width:0}.profile-favorite-item strong,.profile-favorite-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-favorite-item small{margin-top:3px;color:var(--muted);font-size:11px}.community-empty.compact{margin:0;padding:16px}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.profile-actions .button{width:100%}

.login-screen-body{min-height:100dvh;margin:0;background:linear-gradient(135deg,#fff7fb,#fff4f8 55%,#fff8ef);overflow-x:hidden}.login-screen-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}.login-visual{position:relative;min-height:100dvh;background-image:linear-gradient(180deg,rgba(74,41,50,.04),rgba(74,41,50,.18)),url('../assets/images/hero-winter.webp');background-size:cover;background-position:center;overflow:hidden}.login-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 68%,rgba(255,248,251,.16))}.login-visual-overlay{position:relative;z-index:1;min-height:100dvh;padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:space-between}.login-brand{width:max-content;display:flex;align-items:center;gap:11px;padding:9px 12px;border:1px solid rgba(255,255,255,.65);border-radius:18px;background:rgba(255,255,255,.78);backdrop-filter:blur(14px);box-shadow:0 12px 32px rgba(74,41,50,.10)}.login-brand img{width:44px;height:44px;border-radius:14px}.login-brand span{display:grid;line-height:1}.login-brand strong{font-family:Georgia,serif;font-size:20px}.login-brand small{margin-top:5px;color:var(--pink-500);font-weight:900}.login-visual-copy{width:min(560px,90%);padding:26px;border-radius:26px;background:rgba(255,249,250,.82);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 44px rgba(74,41,50,.13)}.login-visual-copy h1{max-width:10ch;margin:8px 0 10px;font-size:clamp(44px,6vw,78px)}.login-visual-copy p{margin:0;max-width:46ch;color:var(--choco-soft)}.login-panel{min-height:100dvh;display:grid;place-items:center;padding:30px}.login-panel-inner{width:min(470px,100%)}.login-back{display:inline-flex;margin-bottom:24px;color:var(--pink-500);font-weight:900}.login-heading{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}.login-profile-icon{width:64px;height:64px;border-radius:20px;box-shadow:0 10px 24px rgba(117,78,84,.10)}.login-heading h2{margin:4px 0 5px;font-size:clamp(34px,5vw,48px)}.login-heading p{margin:0}.login-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:24px 0 14px;padding:5px;border:1px solid var(--line);border-radius:16px;background:#fff}.login-mode-switch button{min-height:43px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-weight:900;cursor:pointer}.login-mode-switch button.active{background:var(--pink-50);color:var(--pink-500)}.login-screen-form{display:grid;gap:11px}.login-screen-form label{display:grid;gap:6px}.login-screen-form label>span{font-size:10px;font-weight:900;color:var(--choco-soft);text-transform:uppercase;letter-spacing:.055em}.login-screen-form input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);padding:0 13px;font:inherit;outline:none}.login-screen-form input:focus{border-color:var(--pink-300);box-shadow:0 0 0 4px rgba(239,159,189,.12)}.login-submit{width:100%;margin-top:3px}.login-submit:disabled{opacity:.55;cursor:wait}.login-status{min-height:24px;margin:12px 0 0;text-align:center;color:var(--pink-500);font-size:13px;font-weight:800}.login-note{margin:10px auto 0;max-width:40ch;text-align:center;color:var(--muted);font-size:11px;line-height:1.6}

@media(max-width:900px){.login-screen-shell{grid-template-columns:1fr}.login-visual{min-height:310px}.login-visual-overlay{min-height:310px;padding:22px}.login-visual-copy{display:none}.login-panel{min-height:calc(100dvh - 310px);padding:26px 18px 44px}.login-brand{margin:auto 0 0}.profile-inline-form{grid-template-columns:1fr}.profile-inline-form .button{width:100%}}
@media(max-width:520px){.community-profile-card{padding:18px;border-radius:24px}.profile-summary{grid-template-columns:52px minmax(0,1fr)}.profile-avatar{width:52px;height:52px;border-radius:17px}.profile-actions{grid-template-columns:1fr}.login-visual{min-height:220px}.login-visual-overlay{min-height:220px}.login-panel{min-height:calc(100dvh - 220px);align-items:start;padding-top:24px}.login-heading{grid-template-columns:52px 1fr}.login-profile-icon{width:52px;height:52px;border-radius:17px}.login-heading h2{font-size:34px}}
