/* PADOKA DA VILLA — Conta premium v2
   Camada visual não destrutiva: mantém autenticação, pedidos, fidelidade,
   notificações e privacidade com a mesma lógica existente. */

:root{
  --account-surface:#fffdfa;
  --account-surface-2:#f8f2ec;
  --account-surface-3:#f1e7de;
  --account-ink:#1b1713;
  --account-muted:#766d65;
  --account-brand:#9a6235;
  --account-brand-strong:#75451f;
  --account-line:#e8ddd2;
  --account-dark:#181410;
  --account-green:#2f6c4b;
  --account-red:#8b443a;
  --account-shadow:0 18px 45px rgba(51,35,22,.09);
  --account-shadow-soft:0 8px 24px rgba(51,35,22,.06);
}

body{
  background:
    radial-gradient(circle at 100% 0,rgba(164,106,57,.08),transparent 32rem),
    linear-gradient(180deg,#f3ebe3 0,#f8f4ef 18rem,#f5efe9 100%);
}

body:has(#accountView:not(.hidden)) .hero{
  padding:25px 4px 17px;
}

body:has(#accountView:not(.hidden)) .hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

body:has(#accountView:not(.hidden)) .hero .eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--account-brand);
  box-shadow:0 0 0 5px rgba(154,98,53,.10);
}

body:has(#accountView:not(.hidden)) .hero h1{
  margin-top:10px;
  font-size:clamp(34px,8vw,44px);
}

body:has(#accountView:not(.hidden)) .hero p{
  max-width:520px;
  font-size:13px;
}

.account-dashboard{
  display:grid;
  gap:15px;
  padding-bottom:10px;
}

#accountView > .card{
  margin:0;
  border:1px solid rgba(121,86,57,.16);
  box-shadow:var(--account-shadow-soft);
}

.profile-card{
  position:relative;
  overflow:hidden;
  padding:0!important;
  background:
    radial-gradient(circle at 90% 8%,rgba(164,106,57,.16),transparent 12rem),
    linear-gradient(145deg,#fffefa 0%,#fffaf5 65%,#f7ede4 100%)!important;
}

.profile-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#b57b4b,#8a552e);
}

.profile-card__top{
  padding:22px 22px 17px;
}

.profile-card .profile{
  align-items:center;
}

.profile-card .avatar{
  width:72px;
  height:72px;
  border:4px solid rgba(255,255,255,.95);
  background:linear-gradient(145deg,#2a211a,#17130f);
  box-shadow:0 10px 24px rgba(35,24,17,.18);
  font-size:24px;
}

.profile-card .profile-copy{
  display:grid;
  gap:4px;
}

.profile-card .profile h2{
  font-size:25px;
  letter-spacing:-.025em;
}

.profile-card .profile p{
  margin:0;
  font-size:11.5px;
  line-height:1.45;
  color:#756b63;
}

.profile-card .chips{
  margin-top:15px;
  gap:7px;
}

.profile-card .chip{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border:1px solid rgba(120,84,55,.08);
  background:rgba(239,231,223,.82);
  color:#5f554d;
  letter-spacing:.01em;
}

.profile-card .chip.ok{
  background:#e8f3ec;
  border-color:#d6e9dd;
  color:#2d6547;
}

.quick-modern{
  margin:0;
  padding:0 18px 18px;
  gap:10px;
}

.quick-modern a{
  position:relative;
  min-height:76px;
  border:1px solid rgba(126,91,61,.15);
  border-radius:19px;
  background:rgba(255,255,255,.76);
  box-shadow:0 6px 18px rgba(58,40,25,.04);
  padding:13px 14px;
  gap:12px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.quick-modern a:hover{
  transform:translateY(-1px);
  border-color:rgba(154,98,53,.32);
  box-shadow:0 10px 24px rgba(58,40,25,.07);
}

.quick-modern a:active{
  transform:scale(.985);
}

.quick-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:14px;
  background:#f1e4d8;
  color:var(--account-brand-strong);
}

.quick-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.quick-modern span:not(.quick-icon):not(.quick-arrow){
  min-width:0;
}

.quick-modern strong{
  display:block;
  font-size:12px;
  line-height:1.2;
  color:var(--account-ink);
}

.quick-modern span small{
  display:block;
  margin-top:4px;
  color:var(--account-muted);
  font-size:9.5px;
  font-weight:700;
}

.quick-arrow{
  margin-left:auto;
  color:#aa8c73;
  font-size:22px;
  line-height:1;
}

.profile-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  padding:15px 18px 18px;
  border-top:1px solid rgba(126,91,61,.12);
  background:rgba(246,239,232,.70);
}

.profile-actions .btn{
  min-height:48px;
  border-radius:15px;
  font-size:11px;
}

.profile-actions .soft{
  background:#fffdfa;
  border:1px solid var(--account-line);
}

.profile-actions .signout{
  background:transparent;
  color:var(--account-red);
  border:1px solid rgba(139,68,58,.18);
}

.profile-actions .signout:hover{
  background:#fbefec;
}

.orders-card,
.feature-card{
  background:rgba(255,253,250,.95)!important;
}

#accountView .section-head{
  align-items:flex-start;
}

#accountView .section-head h2,
.feature-card h2{
  font-size:23px;
  letter-spacing:-.02em;
}

#accountView .section-head .sub,
.feature-card .sub{
  margin-top:6px;
  font-size:11px;
}

#accountView .section-head > a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 10px;
  border-radius:999px;
  background:#f4ece4;
  color:var(--account-brand-strong);
  font-size:9px;
}

#orders{
  display:grid;
  gap:10px;
  margin-top:16px;
}

#orders .order,
#clubHistory .order,
#notifications .order{
  border:1px solid rgba(126,91,61,.13);
  border-radius:16px;
  background:#fbf8f4;
  padding:13px 14px;
}

#orders .order{
  box-shadow:0 4px 14px rgba(51,35,22,.035);
}

.order-head{
  align-items:center;
}

.code{
  font-size:12px;
  letter-spacing:.005em;
}

.status{
  padding:6px 9px;
  background:#ece4dc;
  color:#4a4038;
  border:1px solid rgba(126,91,61,.08);
}

.meta{
  margin-top:8px;
  font-size:10px;
  line-height:1.55;
}

.order-actions{
  margin-top:11px;
  gap:8px;
}

.order-actions a,
.order-actions button{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 11px;
  border-radius:11px;
  background:#fff;
  border-color:#e4d8cc;
  transition:.16s ease;
}

.order-actions a:hover,
.order-actions button:hover{
  border-color:#cba888;
  background:#fffaf5;
}

.orders-card > .padoka-block-center{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--account-line);
  background:#f5ede5;
  color:#5d4633;
}

.club-grid{
  gap:10px;
  margin-top:16px;
}

.club-stat{
  position:relative;
  overflow:hidden;
  min-height:100px;
  padding:16px;
  border-radius:18px;
  background:linear-gradient(145deg,#f7f0e9,#fffaf5);
  border-color:#e4d5c7;
}

.club-stat::after{
  content:"";
  position:absolute;
  width:64px;
  height:64px;
  border-radius:50%;
  right:-20px;
  bottom:-26px;
  background:rgba(164,106,57,.08);
}

.club-stat small{
  font-size:9px;
  letter-spacing:.06em;
}

.club-stat strong{
  margin-top:8px;
  font-size:31px;
  letter-spacing:-.04em;
}

#clubHistory{
  display:grid;
  gap:8px;
  margin-top:12px;
}

#notifications{
  display:grid;
  gap:8px;
  margin-top:14px;
}

#notifications .notification-unread{
  background:#fff8eb;
  border-color:#ecd7b6;
  box-shadow:inset 3px 0 0 #b47a43;
}

#markNotificationsRead{
  min-height:36px;
  padding:8px 11px;
  border-radius:12px;
  background:#f3ebe3;
  font-size:9.5px;
  white-space:nowrap;
}

.privacy-actions{
  gap:10px;
  margin-top:16px;
}

.privacy-actions .btn{
  min-height:50px;
  border:1px solid var(--account-line);
  background:#f5eee7;
  border-radius:15px;
  font-size:10.5px;
}

#requestDelete{
  color:#7d3f37;
  background:#fbf2ef;
  border-color:#ead3ce;
}

.empty{
  padding:22px 12px;
  border-radius:14px;
  background:#faf6f1;
}

#accountView button:focus-visible,
#accountView a:focus-visible{
  outline:3px solid rgba(164,106,57,.25);
  outline-offset:2px;
}

.bottom{
  height:66px;
  left:12px;
  right:12px;
  bottom:max(9px,env(safe-area-inset-bottom));
  border-radius:22px;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
}

.bottom a{
  position:relative;
  gap:4px;
  font-size:8px;
  letter-spacing:.01em;
}

.bottom .active::after{
  content:"";
  position:absolute;
  bottom:7px;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#fff;
  opacity:.9;
}

@media(min-width:700px){
  .account-dashboard{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }

  .profile-card,
  .orders-card{
    grid-column:1 / -1;
  }

  .profile-card__top{
    padding:26px 28px 20px;
  }

  .quick-modern{
    padding:0 24px 22px;
  }

  .profile-actions{
    padding:16px 24px 22px;
  }
}

@media(max-width:480px){
  body{
    padding-bottom:92px;
  }

  .wrap{
    width:min(680px,calc(100% - 24px));
  }

  body:has(#accountView:not(.hidden)) .hero{
    padding:23px 5px 15px;
  }

  body:has(#accountView:not(.hidden)) .hero h1{
    font-size:34px;
  }

  #accountView > .card{
    border-radius:23px;
  }

  .profile-card__top{
    padding:19px 18px 15px;
  }

  .profile-card .avatar{
    width:66px;
    height:66px;
  }

  .profile-card .profile h2{
    font-size:22px;
  }

  .profile-card .profile p{
    font-size:10.5px;
  }

  .quick-modern{
    grid-template-columns:1fr 1fr;
    padding:0 14px 14px;
  }

  .quick-modern a{
    min-height:100px;
    align-items:flex-start;
    flex-direction:column;
    padding:13px;
    gap:9px;
  }

  .quick-modern .quick-arrow{
    position:absolute;
    right:12px;
    top:17px;
  }

  .quick-modern span small{
    display:block;
  }

  .profile-actions{
    padding:13px 14px 15px;
  }

  #accountView .card:not(.profile-card){
    padding:18px;
  }

  #accountView .section-head{
    gap:10px;
  }

  #accountView .section-head h2,
  .feature-card h2{
    font-size:21px;
  }

  .privacy-actions{
    grid-template-columns:1fr;
  }

  #markNotificationsRead{
    max-width:112px;
    white-space:normal;
    line-height:1.15;
  }
}

@media(max-width:350px){
  .quick-modern,
  .profile-actions,
  .club-grid{
    grid-template-columns:1fr;
  }
}


/* Integração visual com o PADOKA Club */
.club-profile-card{position:relative;overflow:hidden}
.club-profile-card:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-78px;background:rgba(164,106,57,.07);pointer-events:none}
.club-profile-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.club-profile-badge{flex:0 0 auto;border-radius:999px;padding:6px 9px;background:#f2e7dc;color:#7a4d29;border:1px solid #e7d5c4;font-size:8px;font-weight:950;letter-spacing:.04em}
.club-stat span{display:block;color:var(--account-muted);font-size:8.5px;margin-top:5px}
.club-open{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:13px 14px;border-radius:16px;background:linear-gradient(135deg,#1c1713,#34251b);color:#fff;box-shadow:0 10px 24px rgba(30,21,15,.12)}
.club-open strong{display:block;font-size:11px}.club-open small{display:block;color:#cfc1b6;font-size:8.5px;margin-top:3px}.club-open b{font-size:21px;color:#e2c49e}
#clubHistory{margin-top:10px}
@media(max-width:480px){.club-profile-head{align-items:flex-start}.club-profile-badge{font-size:7.5px}.club-open{padding:12px 13px}}
