/* Tulip Tower V65 final polish — resident profile, services, events, images */

/* Registration: balanced 2-column form, inline validation remains visible. */
body.tt-home #registerModal .resident-register-grid-v65 .field{grid-template-rows:auto 54px auto!important;min-height:104px!important}
body.tt-home #registerModal .resident-register-grid-v65 .field>small{display:block!important;min-height:18px!important;margin:0!important;font-size:12px!important;line-height:1.4!important}
body.tt-home #registerModal .resident-register-grid-v65 .field-help-v64{color:#7b8d96!important}
body.tt-home #registerModal .resident-register-grid-v65 .field-error-v64{color:#a64f48!important;font-weight:750!important}
body.tt-home #registerModal .resident-register-grid-v65 .has-error-v64 input,
body.tt-home #registerModal .resident-register-grid-v65 .has-error-v64 select{border-color:#c86961!important;background:#fffafa!important;box-shadow:0 0 0 3px rgba(200,105,97,.08)!important}

/* Resident avatar */
.resident-avatar-v65{position:relative;overflow:hidden;isolation:isolate}.resident-avatar-v65 img{width:100%;height:100%;object-fit:cover;display:block}.resident-avatar-v65.is-animated{background:linear-gradient(145deg,#123e50,#0b2735);color:#f1d492}.resident-avatar-v65.is-animated:before,.resident-avatar-v65.is-animated:after{content:"";position:absolute;border:1px solid rgba(231,194,129,.35);border-radius:50%;inset:9px;animation:residentAvatarOrbit 8s linear infinite}.resident-avatar-v65.is-animated:after{inset:17px;border-style:dashed;animation-direction:reverse;animation-duration:11s}.resident-avatar-v65.is-animated>span{position:relative;z-index:2}.resident-avatar-v65.gender-female{background:linear-gradient(145deg,#31545c,#7a5b67)}.resident-avatar-v65.gender-male{background:linear-gradient(145deg,#103d51,#355a68)}.resident-avatar-v65.gender-other,.resident-avatar-v65.preset-star{background:linear-gradient(145deg,#3e5360,#6c604d)}@keyframes residentAvatarOrbit{to{transform:rotate(360deg)}}

/* Account overview: community fund gets its own full-width row. */
.resident-fund-strip-v65{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin:0 0 16px;padding:18px 20px;border-radius:17px;background:linear-gradient(120deg,#0c3d52,#174d61);color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(10,48,65,.12)}.resident-fund-strip-v65 span:first-child{display:flex;align-items:baseline;gap:16px}.resident-fund-strip-v65 small{font-size:12px;color:#d7e6e8;font-weight:800}.resident-fund-strip-v65 strong{font-size:26px;white-space:nowrap}.resident-fund-strip-v65>span:nth-child(2){color:#c8d9dc;font-size:13px}.resident-fund-strip-v65>b{white-space:nowrap;color:#f0d28f}.resident-shortcuts-v40{grid-template-columns:repeat(4,minmax(0,1fr))!important}.resident-shortcuts-v40>a{min-width:0}

/* Profile */
.resident-page-head-v65 h2{font-size:clamp(30px,3vw,42px)!important}.resident-profile-v65{padding:0!important;overflow:hidden}.resident-profile-form-v65{display:grid;grid-template-columns:290px minmax(0,1fr);gap:0}.resident-avatar-panel-v65{padding:26px;border-right:1px solid #e1e9e7;background:linear-gradient(160deg,#f7faf9,#eef4f1)}.resident-avatar-preview-v65{width:140px;height:140px;margin:0 auto 17px;border-radius:32px;position:relative;overflow:hidden;display:grid;place-items:center;background:#113f52;color:#f0d18c;box-shadow:0 16px 30px rgba(14,55,70,.14);isolation:isolate}.resident-avatar-preview-v65 img{width:100%;height:100%;object-fit:cover}.resident-avatar-preview-v65 .avatar-core-v65{font-size:34px;font-weight:900;z-index:2}.resident-avatar-preview-v65 .avatar-orbit-v65{position:absolute;inset:14px;border:1px solid rgba(240,209,140,.55);border-radius:34px;animation:residentAvatarOrbit 8s linear infinite}.resident-avatar-preview-v65 .avatar-spark-v65{position:absolute;right:18px;top:14px;font-size:16px;animation:residentSpark 2.4s ease-in-out infinite}@keyframes residentSpark{50%{transform:scale(1.35);opacity:.45}}.resident-avatar-preview-v65.gender-female{background:linear-gradient(145deg,#335662,#735c6b)}.resident-avatar-preview-v65.gender-male{background:linear-gradient(145deg,#103f53,#38616d)}.resident-avatar-preview-v65.preset-leaf{background:linear-gradient(145deg,#31584d,#163e47)}.resident-avatar-preview-v65.preset-star{background:linear-gradient(145deg,#524b68,#174454)}.resident-avatar-copy-v65{text-align:center}.resident-avatar-copy-v65 strong{color:#173c4f;font-size:16px}.resident-avatar-copy-v65 p{font-size:12px;line-height:1.55;color:#75868e}.resident-upload-v65{display:flex;justify-content:center;margin:14px 0}.resident-upload-v65 input{position:absolute;opacity:0;pointer-events:none}.resident-upload-v65 span{display:inline-flex;min-height:40px;padding:0 15px;align-items:center;border-radius:10px;background:#123f53;color:#fff;font-size:12px;font-weight:850;cursor:pointer}.resident-remove-photo-v65{display:block;text-align:center;color:#6f7f86;font-size:11px}.resident-avatar-presets-v65{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:17px}.resident-avatar-presets-v65 label{cursor:pointer;text-align:center}.resident-avatar-presets-v65 input{position:absolute;opacity:0}.resident-avatar-presets-v65 span{height:39px;border:1px solid #d7e2df;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:19px;color:#385666}.resident-avatar-presets-v65 input:checked+span{background:#e8d2a4;border-color:#c7a462;color:#173e51;box-shadow:0 0 0 2px rgba(199,164,98,.18)}.resident-avatar-presets-v65 small{display:block;font-size:8px;color:#849299;margin-top:3px}.resident-profile-grid-v65{padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.resident-profile-grid-v65 label{display:grid;gap:7px;align-content:start}.resident-profile-grid-v65 label.full{grid-column:1/-1}.resident-profile-grid-v65 label>span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#526b78;font-weight:850}.resident-profile-grid-v65 input,.resident-profile-grid-v65 select{width:100%;min-height:52px;border:1px solid #cfddda;border-radius:12px;background:#fff;padding:0 14px;font-size:15px;color:#193d4e}.resident-profile-grid-v65 input:disabled{background:#edf2f1;color:#71838b}.resident-profile-grid-v65 small{font-size:10px;color:#829198}.resident-profile-grid-v65 .resident-error-v65{color:#a64e48;font-weight:800}.resident-profile-actions-v65{grid-column:2;padding:0 26px 26px;text-align:right}.resident-terms-v65{margin-top:16px;padding:22px!important}.resident-terms-head-v65{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.resident-terms-head-v65 span{font-size:10px;font-weight:900;letter-spacing:.1em;color:#ad8242}.resident-terms-head-v65 h3{margin:5px 0;color:#173d50;font-size:23px}.resident-terms-head-v65 p{margin:0;color:#6e818a;line-height:1.55}.resident-terms-head-v65>b{border-radius:999px;background:#f1e4c8;color:#805f29;padding:7px 10px;font-size:11px}.resident-terms-status-v65{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border-radius:12px;background:#eaf6f0;color:#356c55}.resident-terms-status-v65>span{width:30px;height:30px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:900}.resident-terms-status-v65 div{display:grid}.resident-terms-status-v65 small{font-size:10px}.resident-terms-accept-v65{display:flex;align-items:center;gap:14px;margin-top:16px;padding:13px;border:1px solid #dde6e4;border-radius:12px;background:#f8faf9}.resident-terms-accept-v65 label{display:flex;align-items:center;gap:8px;flex:1;font-weight:750;color:#385566}.resident-terms-accept-v65 input{width:18px;height:18px}.resident-terms-details-v65{margin-top:14px;border-top:1px solid #e4ebe9;padding-top:13px}.resident-terms-details-v65 summary{cursor:pointer;color:#2d5264;font-weight:800}.resident-terms-details-v65>div{margin-top:14px;color:#5e737d;line-height:1.75}

/* Service directory: two columns, no SMS. */
.community-utilities-page .cu-provider-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.community-utilities-page .cu-provider-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main rating" "main actions";gap:8px 12px;padding:14px}.community-utilities-page .cu-provider-main{grid-area:main}.community-utilities-page .cu-provider-rating{grid-area:rating;min-width:80px}.community-utilities-page .cu-quick-actions{grid-area:actions;justify-content:flex-end}.community-utilities-page .cu-quick{width:48px;height:44px}.community-utilities-page .cu-provider-icon--image img{width:100%;height:100%;object-fit:cover;border-radius:10px}.community-utilities-page .cu-provider-copy strong{font-size:16px}.community-utilities-page .cu-provider-address,.community-utilities-page .cu-provider-phone,.community-utilities-page .cu-provider-price{font-size:12px;line-height:1.35}.community-utilities-page .cu-provider-price{color:#98713b}

/* Events and library image consistency. */
body.tt-home .upcoming-event-feature{grid-template-columns:auto 108px minmax(0,1fr) 34px!important;gap:18px!important;padding:17px 20px!important}.upcoming-date-v63{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:9px!important;min-width:100px!important}.upcoming-date-v63>b{font-size:40px!important;line-height:.95!important}.upcoming-date-v63>span{display:grid!important;gap:2px!important}.upcoming-date-v63 small{font-size:14px!important;font-weight:900!important}.upcoming-date-v63 em{font-size:12px!important;font-style:normal!important}.upcoming-copy strong{font-size:17px!important;line-height:1.3!important}.upcoming-copy small{font-size:12px!important}.activity-title-v63{font-size:clamp(22px,2vw,30px)!important;line-height:1.12!important}.activity-meta-line{font-size:12px!important;display:flex!important;gap:10px!important;flex-wrap:nowrap!important;white-space:nowrap!important;overflow:hidden!important}.activity-meta-line span{overflow:hidden;text-overflow:ellipsis}.activity-card{background-size:cover!important;background-position:center!important}.tt-albums-page img,.tt-album-detail-page img,.activity-list-page img,.activity-journal-page img{object-fit:cover!important;object-position:center!important}

@media(max-width:1100px){.community-utilities-page .cu-provider-list{grid-template-columns:1fr}.resident-shortcuts-v40{grid-template-columns:repeat(2,minmax(0,1fr))!important}.resident-profile-form-v65{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:760px){body.tt-home #registerModal .resident-register-grid-v65 .field{min-height:101px!important}.resident-fund-strip-v65{grid-template-columns:1fr;gap:7px}.resident-fund-strip-v65>span:nth-child(2){display:none}.resident-fund-strip-v65>b{justify-self:start}.resident-shortcuts-v40{grid-template-columns:1fr!important}.resident-profile-form-v65{grid-template-columns:1fr}.resident-avatar-panel-v65{border-right:0;border-bottom:1px solid #e1e9e7}.resident-profile-grid-v65{grid-template-columns:1fr;padding:18px}.resident-profile-grid-v65 label.full{grid-column:auto}.resident-profile-actions-v65{grid-column:1;padding:0 18px 20px}.resident-terms-accept-v65{align-items:flex-start;flex-direction:column}.resident-terms-accept-v65 button{width:100%}.community-utilities-page .cu-provider-card{grid-template-columns:1fr;grid-template-areas:"main" "rating" "actions"}.community-utilities-page .cu-provider-rating{display:flex!important;gap:6px;text-align:left;align-items:center}.community-utilities-page .cu-provider-rating small{grid-column:auto}.community-utilities-page .cu-quick-actions{justify-content:flex-start}.community-utilities-page .cu-quick{flex:1;max-width:80px}body.tt-home .upcoming-event-feature{grid-template-columns:auto 78px minmax(0,1fr) 28px!important;gap:10px!important;padding:13px!important}.upcoming-date-v63>b{font-size:32px!important}.upcoming-copy strong{font-size:14px!important}.activity-meta-line{white-space:normal!important;flex-wrap:wrap!important}}
/* Explicit cover behaviour for every event/gallery thumbnail. */
.tt-v33-gallery-index .v33-album-card__media img,
.tt-v33-album-detail .v33-album-hero__cover img,
.tt-v33-album-detail .v33-photo-card>img,
.tt-v33-album-detail .v33-more-albums__grid>a>img,
.activity-journal-page img,
.tt-activity-page img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}

/* V73 — resident utility directory readability + balanced quick actions. */
.community-utilities-page .cu-provider-card{
  padding:16px 17px!important;
  border-radius:15px!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease;
}
.community-utilities-page .cu-provider-card:hover{
  transform:translateY(-3px);
  border-color:#c9d9d4!important;
  box-shadow:0 16px 34px rgba(18,59,75,.09);
  background:#fffefb;
}
.community-utilities-page .cu-provider-main{gap:15px!important}
.community-utilities-page .cu-provider-icon{width:58px!important;height:58px!important;flex-basis:58px!important;border-radius:13px!important;font-size:29px!important;transition:transform .24s ease,box-shadow .24s ease}
.community-utilities-page .cu-provider-card:hover .cu-provider-icon{transform:scale(1.055) rotate(-1deg);box-shadow:0 8px 18px rgba(18,59,75,.08)}
.community-utilities-page .cu-provider-category{font-size:12px!important;line-height:1.3!important;letter-spacing:.055em!important}
.community-utilities-page .cu-provider-copy strong{font-size:18px!important;line-height:1.3!important}
.community-utilities-page .cu-provider-address{font-size:13px!important;line-height:1.45!important;color:#73858d!important}
.community-utilities-page .cu-provider-phone{font-size:14px!important;line-height:1.4!important;font-weight:750!important;color:#365664!important}
.community-utilities-page .cu-provider-price{font-size:13px!important;line-height:1.42!important;color:#98713b!important}
.community-utilities-page .cu-provider-rating{min-width:92px!important}
.community-utilities-page .cu-stars-static{font-size:18px!important}
.community-utilities-page .cu-provider-rating strong{font-size:17px!important}
.community-utilities-page .cu-provider-rating small{font-size:11px!important}
.community-utilities-page .cu-quick-actions{gap:7px!important;align-items:stretch}
.community-utilities-page .cu-quick{
  width:62px!important;height:52px!important;min-width:62px!important;
  border-radius:11px!important;font-size:17px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
.community-utilities-page .cu-quick span{margin-top:2px!important;font-size:10px!important;line-height:1!important;font-weight:850!important}
.community-utilities-page .cu-quick.detail{font-size:22px!important}
.community-utilities-page .cu-quick:hover{transform:translateY(-2px);border-color:#aebfbc!important;box-shadow:0 8px 18px rgba(17,58,73,.1)}
.community-utilities-page .cu-quick.call:hover{background:#0d3042!important;border-color:#0d3042!important}
.community-utilities-page .cu-quick.zalo:hover{background:#eef7fd!important;border-color:#a9cee6!important}
.community-utilities-page .cu-quick.detail:hover{background:#f5f1e8!important;border-color:#d7c39d!important;color:#7c5c2b!important}
@media(max-width:760px){
  .community-utilities-page .cu-provider-card{padding:14px!important}
  .community-utilities-page .cu-provider-copy strong{font-size:17px!important;white-space:normal!important}
  .community-utilities-page .cu-provider-address,.community-utilities-page .cu-provider-phone,.community-utilities-page .cu-provider-price{font-size:12.5px!important}
  .community-utilities-page .cu-quick-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%}
  .community-utilities-page .cu-quick{width:100%!important;max-width:none!important;min-width:0!important;height:50px!important}
}
