/* ======================================================================
   PupVibes 8.9.89 — definitive customer area styles
   Applies to native customer pages AND module customer pages.
   ====================================================================== */

/* ---------- Shell ---------- */
.pv-customer-shell{
  width:100%!important;
  max-width:1060px!important;
  margin:0 auto!important;
  padding:30px 24px 70px!important;
}
.pv-customer-shell--logged{
  display:grid!important;
  grid-template-columns:214px minmax(0,1fr)!important;
  gap:28px!important;
  align-items:start!important;
}
.pv-customer-main{min-width:0!important}
.pv-customer-content{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* ---------- Profile ---------- */
.pv-customer-profile--link{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.pv-customer-profile--link:hover{background:transparent!important}
.pv-customer-avatar{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#ffe39a!important;
  color:#a14c0b!important;
  display:grid!important;
  place-items:center!important;
  font-size:19px!important;
}
.pv-customer-profile__copy strong{
  display:block!important;
  color:#b3540d!important;
  font:500 11px/1.2 'DM Sans',sans-serif!important;
}
.pv-customer-profile__copy small{
  display:block!important;
  margin-top:3px!important;
  color:#8d837a!important;
  font:400 9px/1.2 'DM Sans',sans-serif!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* ---------- Sidebar ---------- */
.pv-account-sidebar-nav,
.pv-account-sidebar-nav .account-menu__nav{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.pv-account-sidebar-nav .account-menu__nav{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
.pv-account-sidebar-nav a.account-menu__link{
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#ad520d!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  text-decoration:none!important;
  transform:none!important;
  font:500 11px/1.1 'DM Sans',sans-serif!important;
}
.pv-account-sidebar-nav a.account-menu__link:hover{
  background:#fff0cf!important;
  border:0!important;
  transform:none!important;
}
.pv-account-sidebar-nav a.account-menu__link--active,
.pv-account-sidebar-nav a.account-menu__link[aria-current="page"]{
  background:#ff8100!important;
  color:#1e150d!important;
}
.pv-account-sidebar-nav .account-menu__icon{
  width:17px!important;
  min-width:17px!important;
  flex:0 0 17px!important;
  margin:0!important;
  color:currentColor!important;
  font-size:17px!important;
  line-height:1!important;
}
.pv-account-sidebar-nav a.account-menu__link--signout{
  margin-top:11px!important;
  color:#ff6258!important;
  background:transparent!important;
}

/* ---------- Titles ---------- */
.pv-customer-header{margin:0!important}
.pv-customer-header .page-title-section{
  margin:0!important;
  color:#a84f0c!important;
  font:700 30px/1.05 'DM Sans',sans-serif!important;
  letter-spacing:-.5px!important;
}
.pv-customer-header .page-title-section em{
  color:#ff7900!important;
  font-style:italic!important;
}
.pv-account-page-intro{
  margin:8px 0 20px!important;
  color:#20160f!important;
  font:400 12px/1.35 'DM Sans',sans-serif!important;
}

/* ---------- Shared white panel ---------- */
.pv-account-panel{
  width:100%!important;
  border:1px solid #d8d0c7!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* ---------- Identity ---------- */
#identity .pv-profile-summary{padding:22px 24px!important}
#identity .pv-account-panel__head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:15px!important;
}
#identity .pv-account-panel__head h2{
  margin:0!important;
  color:#18110c!important;
  font:600 20px/1.2 'DM Sans',sans-serif!important;
}
#identity .pv-account-edit-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#ad520d!important;
  text-decoration:none!important;
  font:500 11px/1.2 'DM Sans',sans-serif!important;
}
#identity .pv-account-edit-link .material-icons{font-size:18px!important}
#identity .pv-profile-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px 48px!important;
  margin-bottom:8px!important;
}
#identity .pv-profile-field--pseudo,
#identity .pv-profile-field--full{grid-column:1/-1!important}
#identity .pv-profile-field{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
}
#identity .pv-profile-field span{
  color:#2a2018!important;
  font:400 10px/1.2 'DM Sans',sans-serif!important;
}
#identity .pv-profile-field strong{
  color:#ad520d!important;
  font:700 17px/1.2 'DM Sans',sans-serif!important;
}
#identity .pv-profile-setting{
  min-height:63px!important;
  border-top:1px solid #ddd7d0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
}
#identity .pv-profile-setting strong{
  display:block!important;
  color:#24180f!important;
  font:500 11px/1.2 'DM Sans',sans-serif!important;
}
#identity .pv-profile-setting small{
  display:block!important;
  margin-top:3px!important;
  color:#ad520d!important;
  font:400 9px/1.2 'DM Sans',sans-serif!important;
}
#identity .pv-profile-setting__button{
  min-width:76px!important;
  height:38px!important;
  border-radius:7px!important;
  background:#ff8100!important;
  color:#20160f!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font:500 10px/1 'DM Sans',sans-serif!important;
}
#identity .pv-profile-newsletter-state{
  display:flex!important;
  overflow:hidden!important;
  border:1px solid #ff8100!important;
  border-radius:999px!important;
  text-decoration:none!important;
}
#identity .pv-profile-newsletter-state span{
  min-width:31px!important;
  height:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#a14c0b!important;
  font-size:9px!important;
}
#identity .pv-profile-newsletter-state span.is-active{
  background:#ff8100!important;
  color:#21160f!important;
}
#identity .pv-profile-delete{
  border-top:1px solid #ddd7d0!important;
  padding-top:16px!important;
}
#identity .pv-profile-delete p{
  margin:0 0 8px!important;
  color:#21160f!important;
  font:400 10px/1.35 'DM Sans',sans-serif!important;
}
#identity .pv-profile-delete__link{
  color:#ff6258!important;
  text-decoration:underline!important;
  font:400 10px/1.2 'DM Sans',sans-serif!important;
}

/* Edit form */
#identity .pv-account-panel--form{padding:22px 24px!important}
#identity .pv-account-panel--form .pv-account-panel__head{
  display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:16px!important;
}
#identity .pv-account-panel--form .pv-account-panel__head h2{margin:0!important;font-size:18px!important}
#identity .pv-account-panel--form .form-control,
#identity .pv-account-panel--form .form-select{min-height:42px!important;border-radius:7px!important}

/* ---------- Addresses ---------- */
#addresses .pv-address-list{
  padding:6px 20px 18px!important;
}
#addresses .pv-address-row{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  gap:11px!important;
  align-items:start!important;
  padding:14px 0!important;
  border-bottom:1px solid #dcd5ce!important;
}
#addresses .pv-address-row__icon{
  width:32px!important;
  height:32px!important;
  border-radius:8px!important;
  background:#fff6e4!important;
  color:#b3540d!important;
  display:grid!important;
  place-items:center!important;
}
#addresses .pv-address-row__icon .material-icons{font-size:17px!important}
#addresses .pv-address-row__title{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:5px!important;
}
#addresses .pv-address-row__title strong{
  color:#a64d0b!important;
  font:700 11px/1.2 'DM Sans',sans-serif!important;
}
#addresses .pv-address-row__title span{
  padding:3px 8px!important;
  border-radius:999px!important;
  background:#ffe39a!important;
  color:#c26a12!important;
  font:600 8px/1 'DM Sans',sans-serif!important;
}
#addresses .pv-address-row__content address{
  margin:0!important;
  color:#22170f!important;
  font:400 9.5px/1.35 'DM Sans',sans-serif!important;
}
#addresses .pv-address-row__actions{
  display:flex!important;
  align-items:center!important;
  gap:17px!important;
  padding-top:2px!important;
}
#addresses .pv-address-row__actions a{
  color:#ad520d!important;
  text-decoration:none!important;
  font:500 10px/1.2 'DM Sans',sans-serif!important;
}
#addresses .pv-address-row__actions a.is-danger{color:#ff6258!important}
#addresses .pv-address-add{
  min-height:42px!important;
  margin-top:14px!important;
  border:1px dashed #bd5900!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  color:#a64d0b!important;
  text-decoration:none!important;
  font:500 10px/1 'DM Sans',sans-serif!important;
}

/* ---------- Payments module page ---------- */
#module-pupvibesaccount-payments .pv-payments-list{
  padding:6px 20px 18px!important;
}
#module-pupvibesaccount-payments .pv-payment-row{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  gap:11px!important;
  align-items:center!important;
  padding:14px 0!important;
  border-bottom:1px solid #dcd5ce!important;
}
#module-pupvibesaccount-payments .pv-payment-row__icon{
  width:32px!important;height:32px!important;border-radius:8px!important;
  background:#fff6e4!important;color:#b3540d!important;display:grid!important;place-items:center!important;
}
#module-pupvibesaccount-payments .pv-payment-row__icon .material-icons{font-size:17px!important}
#module-pupvibesaccount-payments .pv-payment-row__content strong{
  display:block!important;color:#a64d0b!important;font:700 11px/1.2 'DM Sans',sans-serif!important;
}
#module-pupvibesaccount-payments .pv-payment-row__content small{
  display:block!important;margin-top:5px!important;color:#22170f!important;font:400 9.5px/1.2 'DM Sans',sans-serif!important;
}
#module-pupvibesaccount-payments .pv-payment-row__actions{
  color:#ff6258!important;font:500 10px/1.2 'DM Sans',sans-serif!important;
}
#module-pupvibesaccount-payments .pv-payment-add{
  min-height:42px!important;margin-top:14px!important;border:1px dashed #bd5900!important;border-radius:12px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  color:#a64d0b!important;text-decoration:none!important;font:500 10px/1 'DM Sans',sans-serif!important;
}

/* ---------- Loyalty page: theme-side fallback so it cannot render unstyled ---------- */
#module-loyaltyambassador-account .crwd-account--pupvibes{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}
#module-loyaltyambassador-account .crwd-loyalty-dashboard{
  border:1px solid #d8d0c7!important;
  border-radius:20px!important;
  background:#fff!important;
  padding:20px!important;
}
#module-loyaltyambassador-account .crwd-loyalty-stats{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  margin-bottom:18px!important;
}
#module-loyaltyambassador-account .crwd-loyalty-stat{
  min-height:88px!important;
  position:relative!important;
  padding:18px 20px!important;
  background:#fff9ed!important;
  overflow:hidden!important;
}
#module-loyaltyambassador-account .crwd-loyalty-stat:first-child{border-radius:14px 0 0 14px!important}
#module-loyaltyambassador-account .crwd-loyalty-stat:last-child{border-radius:0 14px 14px 0!important}
#module-loyaltyambassador-account .crwd-loyalty-stat strong{
  display:block!important;
  color:#a64d0b!important;
  font:700 24px/1 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-loyalty-stat span{
  display:block!important;
  margin-top:7px!important;
  color:#22170f!important;
  font:400 10px/1.2 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-loyalty-stat i,
#module-loyaltyambassador-account .crwd-loyalty-stat b{
  position:absolute!important;
  right:16px!important;
  bottom:10px!important;
  color:#ff8100!important;
  font-size:42px!important;
  font-style:normal!important;
}
#module-loyaltyambassador-account .crwd-loyalty-copy{
  margin:0 0 17px!important;
  color:#22170f!important;
  font:400 10px/1.45 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-main-action{
  width:100%!important;
  min-height:38px!important;
  border:0!important;
  border-radius:6px!important;
  background:#ff8100!important;
  color:#21160f!important;
  font:500 10px/1 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-main-action:disabled{opacity:.6!important}
#module-loyaltyambassador-account .crwd-main-help{
  display:block!important;
  margin-top:8px!important;
  color:#8e8a86!important;
  font:400 8.5px/1.2 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-ambassador-dashboard{
  border-radius:20px!important;
  background:#000!important;
  color:#fff!important;
  padding:20px!important;
}
#module-loyaltyambassador-account .crwd-ambassador-dashboard h2{
  margin:0 0 18px!important;
  color:#fff!important;
  font:500 18px/1.2 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-ambassador-stats{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-bottom:22px!important;
}
#module-loyaltyambassador-account .crwd-ambassador-stats>div{
  position:relative!important;
  min-height:86px!important;
  padding:17px 18px!important;
  border-radius:14px!important;
  background:#fff9ed!important;
  color:#21160f!important;
}
#module-loyaltyambassador-account .crwd-ambassador-stats strong{
  display:block!important;
  color:#a64d0b!important;
  font:700 22px/1 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-ambassador-stats span{
  display:block!important;
  margin-top:8px!important;
  color:#21160f!important;
  font:400 10px/1.2 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-ambassador-stats b{
  position:absolute!important;
  right:17px!important;
  bottom:14px!important;
  color:#ff8100!important;
  font-size:39px!important;
}
#module-loyaltyambassador-account .crwd-ambassador-code{
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  gap:16px!important;
  margin-bottom:16px!important;
}
#module-loyaltyambassador-account .crwd-ambassador-code span{
  display:block!important;
  margin-bottom:6px!important;
  color:#fff!important;
  font:400 9px/1.2 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-ambassador-code strong{
  color:#ff8100!important;
  font:700 23px/1.1 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-ambassador-link label{
  display:block!important;
  margin-bottom:5px!important;
  color:#fff!important;
  font-size:9px!important;
}
#module-loyaltyambassador-account .crwd-ambassador-link>div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  margin-bottom:16px!important;
}
#module-loyaltyambassador-account .crwd-ambassador-link input{
  width:100%!important;
  height:38px!important;
  border:0!important;
  border-radius:6px 0 0 6px!important;
  padding:0 12px!important;
  background:#fff!important;
}
#module-loyaltyambassador-account .crwd-copy-link{
  min-width:75px!important;
  border:1px solid #fff!important;
  border-radius:0 6px 6px 0!important;
  background:#fff!important;
  color:#21160f!important;
  font-size:9px!important;
}
#module-loyaltyambassador-account .crwd-history-card{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#module-loyaltyambassador-account .crwd-history-card h3{
  margin:0 0 10px!important;
  color:#21160f!important;
  font:500 18px/1.2 'DM Sans',sans-serif!important;
}
#module-loyaltyambassador-account .crwd-history-card table{
  width:100%!important;
  background:#fff!important;
  border:1px solid #d8d0c7!important;
  border-radius:12px!important;
  overflow:hidden!important;
  font-size:9px!important;
}
#module-loyaltyambassador-account .crwd-history-card thead{
  background:#ffe39a!important;
}

/* Responsive */
@media(max-width:900px){
  .pv-customer-shell--logged{grid-template-columns:1fr!important}
  .pv-customer-sidebar{display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;gap:18px!important}
  .pv-account-sidebar-nav .account-menu__nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .pv-customer-shell{padding:20px 14px 50px!important}
  .pv-customer-sidebar{display:block!important}
  .pv-account-sidebar-nav .account-menu__nav{display:flex!important;flex-direction:column!important}
  #identity .pv-profile-grid{grid-template-columns:1fr!important}
  #identity .pv-profile-field--pseudo,
  #identity .pv-profile-field--full{grid-column:auto!important}
  #addresses .pv-address-row,
  #module-pupvibesaccount-payments .pv-payment-row{
    grid-template-columns:34px minmax(0,1fr)!important;
  }
  #addresses .pv-address-row__actions,
  #module-pupvibesaccount-payments .pv-payment-row__actions{grid-column:2!important}
  #module-loyaltyambassador-account .crwd-loyalty-stats,
  #module-loyaltyambassador-account .crwd-ambassador-stats{grid-template-columns:1fr!important}
  #module-loyaltyambassador-account .crwd-loyalty-stat:first-child,
  #module-loyaltyambassador-account .crwd-loyalty-stat:last-child{border-radius:14px!important}
}
