/* ============================================================
   HS+ Consolidated CSS (SAFE FULL RESET)
   - Duplicates removed
   - Click layers fixed (badge + logout)
   - Gift cards unified (use is-selected version)
   - Reset Password styles unified (action-based + wrapper)
============================================================ */

/* ===========================
   Header logo image constraint
=========================== */
header .elementor-widget-image img{
  max-height:120px !important;
  height:auto !important;
  width:auto !important;
}

/* ===========================
   Simple WP Membership: hide default protection messages
=========================== */
.swpm-login-msg,
.swpm-login-form,
.swpm-post-not-logged-in-msg,
.swpm-restricted-content-msg,
.entry-content > p:first-child{
  display:none !important;
}

/* ===========================
   Today's Words of Wisdom - Hero card
=========================== */
.hsp-wow-wrapper{
  max-width:640px;
  width:100%;
  margin:0;
}

.hsp-wow-card{
  background:#fff;
  border-radius:20px;
  padding:22px 26px;
  box-shadow:
    0 32px 80px rgba(28,53,86,.15),
    0 0 0 1px rgba(255,255,255,.9);
  color:#223344;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  position:relative;
}

.hsp-wow-tag-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}

.hsp-wow-tag-line{
  display:inline-block;
  width:16px;
  height:1px;
  background:rgba(163,177,197,.8);
}

.hsp-wow-tag-text{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9aa4b8;
}

.hsp-wow-quote{
  font-size:15px;
  line-height:1.7;
  color:#233143;
  margin:0 0 16px;
}

.hsp-wow-from{
  font-size:13px;
  color:#4d5b6c;
  margin:0 0 6px;
}

.hsp-wow-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:13px;
  color:#1c6fd1;
  text-decoration:none;
  font-weight:500;
}
.hsp-wow-link .arrow{
  font-size:13px;
  transition:transform .15s ease;
}
.hsp-wow-link:hover .arrow{
  transform:translateX(2px);
}

/* =========================
   Profile Page Styling (hsp-profile-section)
   Target: [swpm_profile_form] inside .hsp-profile-section
========================= */
.hsp-profile-section{
  padding:60px 16px;
  background:radial-gradient(circle at top,#f9fafb 0,#f3f4ff 40%,#eef2ff 100%);
}

.hsp-profile-section form{
  max-width:880px;
  margin:0 auto;
  padding:32px 28px 36px;
  background:rgba(255,255,255,.92);
  border-radius:24px;
  box-shadow:0 24px 60px rgba(15,23,42,.16);
  border:1px solid rgba(148,163,184,.25);
}

.hsp-profile-section form h2,
.hsp-profile-section form h3{
  margin-top:0;
  margin-bottom:18px;
  font-size:22px;
  font-weight:700;
  color:#111827;
}

.hsp-profile-section form p{
  margin:0 0 16px;
}

.hsp-profile-section form label{
  display:block;
  margin-bottom:4px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#4b5563;
}

.hsp-profile-section form input[type="text"],
.hsp-profile-section form input[type="email"],
.hsp-profile-section form input[type="password"],
.hsp-profile-section form input[type="tel"],
.hsp-profile-section form input[type="url"],
.hsp-profile-section form textarea,
.hsp-profile-section form select{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#f9fafb;
  font-size:14px;
  color:#111827;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.hsp-profile-section form input[type="text"]:focus,
.hsp-profile-section form input[type="email"]:focus,
.hsp-profile-section form input[type="password"]:focus,
.hsp-profile-section form input[type="tel"]:focus,
.hsp-profile-section form input[type="url"]:focus,
.hsp-profile-section form textarea:focus,
.hsp-profile-section form select:focus{
  outline:none;
  border-color:#4acbff;
  box-shadow:
    0 0 0 1px rgba(74,203,255,.4),
    0 12px 30px rgba(15,23,42,.18);
  background:#fff;
}

.hsp-profile-section form input[type="submit"],
.hsp-profile-section form button[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 28px;
  margin-top:8px;
  border-radius:999px;
  border:none;
  cursor:pointer;
  font-size:14px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#020617;
  background:linear-gradient(135deg,#4acbff 0%,#8de7ff 40%,#ffe6a7 100%);
  box-shadow:0 16px 36px rgba(255,230,167,.6);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.hsp-profile-section form input[type="submit"]:hover,
.hsp-profile-section form button[type="submit"]:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg,#71d9ff 0%,#c0f4ff 30%,#ffefc8 100%);
  box-shadow:0 22px 44px rgba(15,23,42,.28);
}

.hsp-profile-section .swpm-error,
.hsp-profile-section .swpm-validation-error,
.hsp-profile-section .error{
  margin-bottom:16px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(248,113,113,.08);
  border:1px solid rgba(239,68,68,.5);
  color:#b91c1c;
  font-size:13px;
}

.hsp-profile-section .swpm-success,
.hsp-profile-section .updated{
  margin-bottom:16px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(34,197,94,.08);
  border:1px solid rgba(22,163,74,.5);
  color:#166534;
  font-size:13px;
}

@media (max-width:600px){
  .hsp-profile-section{ padding:40px 12px; }
  .hsp-profile-section form{
    padding:22px 18px 26px;
    border-radius:20px;
  }
}

/* ===========================
   Fluent Forms (Join modal) - visual only
   NOTE: Scroll behavior is controlled below in "Scroll Policy"
=========================== */
.hs-join-fluent-wrapper .ff-el-form-control-wrap label,
.hs-join-fluent-wrapper .ff-el-input--label{
  font-size:.9rem;
  color:#293552;
  font-weight:500;
}

.hs-join-fluent-wrapper input[type="text"],
.hs-join-fluent-wrapper input[type="email"],
.hs-join-fluent-wrapper input[type="tel"],
.hs-join-fluent-wrapper input[type="number"],
.hs-join-fluent-wrapper select,
.hs-join-fluent-wrapper textarea{
  width:100%;
  border-radius:999px;
  border:1px solid rgba(120,140,190,.6);
  padding:8px 12px;
  font-size:.9rem;
  background:rgba(255,255,255,.9);
  box-shadow:0 6px 14px rgba(0,0,0,.04);
}
.hs-join-fluent-wrapper textarea{ border-radius:12px; }

.hs-join-fluent-wrapper .ff-el-form-check-label{
  font-size:.88rem;
  color:#4c5677;
}

.hs-join-fluent-wrapper .ff-btn-submit,
.hs-join-fluent-wrapper button[type="submit"]{
  border-radius:999px;
  border:1px solid rgba(255,255,255,.95);
  padding:10px 26px;
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:radial-gradient(circle at top left,#fff 0%,#fff4d2 40%,#d6b261 100%);
  color:#403112;
  box-shadow:
    0 14px 30px rgba(203,164,75,.6),
    0 0 24px rgba(255,241,205,.9);
  cursor:pointer;
  float:right;
  transition:transform .16s ease, filter .16s ease, box-shadow .16s ease;
}
.hs-join-fluent-wrapper .ff-btn-submit:hover,
.hs-join-fluent-wrapper button[type="submit"]:hover{
  transform:translateY(-1px);
  filter:brightness(1.05);
  box-shadow:
    0 18px 36px rgba(203,164,75,.7),
    0 0 32px rgba(255,247,218,1);
}

/* ===========================
   Scroll Policy (IMPORTANT)
   - You had BOTH "scroll enabled" and "scroll disabled".
   - We keep "DISABLED" to match your final intent.
=========================== */
.hs-join-fluent-wrapper .fluentform{
  max-height:none !important;
  overflow-y:visible !important;
  padding-right:0 !important;
}

/* ===============================
   Welcome Gift Book Cards (UNIFIED)
   - Uses .hs-join-gift-card-option.is-selected
   - No duplicate radio/label version
================================= */
.hs-join-gift-section{
  margin-top:12px;
  padding:14px 18px 16px;
  border-radius:18px;
  background:linear-gradient(145deg, rgba(255,255,255,.96), #fff6e5);
  box-shadow:0 18px 40px rgba(17,24,39,.08);
}

.hs-join-gift-title{
  font-weight:600;
  font-size:.95rem;
  color:#283347;
  margin-bottom:4px;
}
.hs-join-gift-title span{
  font-weight:400;
  font-size:.8rem;
  color:#6b7280;
  margin-left:4px;
}
.hs-join-gift-lead{
  font-size:.84rem;
  color:#4b5563;
  margin:0 0 10px;
}

.hs-join-gift-grid{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding-bottom:6px;
  -webkit-overflow-scrolling:touch;
}

.hs-join-gift-section .hs-join-gift-card-option{
  border:none !important;
  padding:0;
  background:transparent;
  cursor:pointer;
}

.hs-join-gift-section .hs-join-gift-card-option .hs-join-gift-card{
  width:210px;
  height:270px;
  border-radius:18px;
  padding:16px 12px 14px;
  background:rgba(255,255,255,.95) !important;
  box-shadow:
    0 10px 26px rgba(15,23,42,.10),
    0 0 0 1px rgba(229,231,235,.9) !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  filter:grayscale(.25) opacity(.9);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease;
}

.hs-join-gift-section .hs-join-gift-card-option .hs-join-gift-img{
  height:160px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
}
.hs-join-gift-section .hs-join-gift-card-option .hs-join-gift-img img{
  max-height:100%;
  max-width:80%;
  width:auto;
  object-fit:contain;
  display:block;
}

.hs-join-gift-section .hs-join-gift-name{
  font-size:.86rem;
  font-weight:600;
  color:#111827;
  margin-bottom:4px;
}
.hs-join-gift-section .hs-join-gift-caption{
  font-size:.8rem;
  color:#6b7280;
  line-height:1.4;
}

/* selected */
.hs-join-gift-section .hs-join-gift-card-option.is-selected .hs-join-gift-card{
  background:radial-gradient(circle at top,#fff 0%,#fff4d2 45%,#ffe4a8 100%) !important;
  box-shadow:
    0 18px 40px rgba(245,200,120,.7),
    0 0 24px rgba(255,248,220,1),
    0 0 0 2px rgba(233,196,106,.9) !important;
  transform:translateY(-2px);
  filter:none;
}

.hs-join-gift-section .hs-join-gift-card-option .hs-join-gift-card:hover{
  transform:translateY(-1px);
}

@media (max-width:640px){
  .hs-join-gift-section .hs-join-gift-card-option .hs-join-gift-card{
    width:180px;
    height:250px;
  }
}

/* ============================================================
   page-id-1352: header layout restore + footer hide
============================================================ */
body.page-id-1352 .main-header-bar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}

body.page-id-1352 .site-branding{
  margin-right:32px !important;
}

body.page-id-1352 .main-header-menu{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:32px !important;
}
body.page-id-1352 .main-header-menu > li{
  display:inline-block !important;
}

body.page-id-1352 .hsp_user_badge{
  position:relative !important;
  margin-left:40px !important;
}

/* Footer hide for specific pages */
.page-id-1352 .site-footer,
.page-id-1352 footer,
.page-id-1352 .ast-footer-wrap,
.page-id-1352 .ast-footer-bar,
.page-id-1572 .site-footer,
.page-id-1572 footer,
.page-id-1572 .ast-footer-wrap,
.page-id-1572 .ast-footer-bar,
.page-id-1599 .site-footer,
.page-id-1599 footer,
.page-id-1599 .ast-footer-wrap,
.page-id-1599 .ast-footer-bar{
  display:none !important;
}

/* =========================
   Insta-style SWPM Profile Form (.hsp-ig-profile-form)
========================= */
.hsp-ig-profile-form{
  max-width:980px;
  margin:32px auto 60px;
}

.hsp-ig-profile-form form{
  background:#fff;
  border-radius:24px;
  padding:32px 40px 36px;
  box-shadow:
    0 18px 45px rgba(15,35,75,.12),
    0 0 0 1px rgba(255,255,255,.9);
  box-sizing:border-box;
}

/* make table -> vertical form */
.hsp-ig-profile-form table.swpm-form-table,
.hsp-ig-profile-form table.swpm-form-table tr,
.hsp-ig-profile-form table.swpm-form-table td{
  display:block;
  width:100%;
  border:none;
  padding:0;
}

.hsp-ig-profile-form label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#6b7280;
  display:block;
  margin-bottom:4px;
}

.hsp-ig-profile-form input[type="text"],
.hsp-ig-profile-form input[type="email"],
.hsp-ig-profile-form input[type="password"],
.hsp-ig-profile-form select,
.hsp-ig-profile-form textarea{
  width:100%;
  border-radius:999px;
  border:1px solid rgba(209,213,219,.95);
  padding:10px 16px;
  font-size:13px;
  background:linear-gradient(135deg,#fff,#f5f8ff);
  box-shadow:
    0 8px 18px rgba(151,178,214,.28),
    0 0 0 1px rgba(255,255,255,.8) inset;
  margin-bottom:14px;
  box-sizing:border-box;
}

.hsp-ig-profile-form input[type="text"]:focus,
.hsp-ig-profile-form input[type="email"]:focus,
.hsp-ig-profile-form input[type="password"]:focus,
.hsp-ig-profile-form select:focus,
.hsp-ig-profile-form textarea:focus{
  border-color:#2563eb;
  outline:none;
  box-shadow:
    0 10px 22px rgba(37,99,235,.28),
    0 0 0 1px rgba(255,255,255,.95) inset;
}

.hsp-ig-profile-form input[type="submit"],
.hsp-ig-profile-form .swpm-submit,
.hsp-ig-profile-form .button-primary{
  display:inline-block;
  min-width:180px;
  border-radius:999px;
  border:0;
  padding:11px 24px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-align:center;
  color:#4b3213;
  cursor:pointer;
  background:linear-gradient(135deg,#fbe8b6 0%,#f4c96e 42%,#efb849 100%);
  box-shadow:
    0 18px 30px rgba(196,143,62,.45),
    0 0 0 1px rgba(255,255,255,.9) inset;
  margin-top:8px;
}
.hsp-ig-profile-form input[type="submit"]:hover,
.hsp-ig-profile-form .swpm-submit:hover,
.hsp-ig-profile-form .button-primary:hover{
  filter:brightness(1.04);
}

.hsp-ig-profile-form a[href*="delete"],
.hsp-ig-profile-form .delete-account{
  display:inline-block;
  margin-left:16px;
  font-size:12px;
  color:#ef4444;
}

/* hide unwanted fields (no :has) */
.hsp-ig-profile-form label[for*="phone"],
.hsp-ig-profile-form input[id*="phone"],
.hsp-ig-profile-form input[name*="phone"],
.hsp-ig-profile-form label[for*="street"],
.hsp-ig-profile-form input[id*="street"],
.hsp-ig-profile-form input[name*="street"],
.hsp-ig-profile-form label[for*="city"],
.hsp-ig-profile-form input[id*="city"],
.hsp-ig-profile-form input[name*="city"],
.hsp-ig-profile-form label[for*="state"],
.hsp-ig-profile-form input[id*="state"],
.hsp-ig-profile-form input[name*="state"],
.hsp-ig-profile-form label[for*="zip"],
.hsp-ig-profile-form label[for*="postal"],
.hsp-ig-profile-form label[for*="postcode"],
.hsp-ig-profile-form input[id*="zip"],
.hsp-ig-profile-form input[id*="postal"],
.hsp-ig-profile-form input[id*="postcode"],
.hsp-ig-profile-form input[name*="zip"],
.hsp-ig-profile-form input[name*="postal"],
.hsp-ig-profile-form input[name*="postcode"],
.hsp-ig-profile-form label[for*="company"],
.hsp-ig-profile-form input[id*="company"],
.hsp-ig-profile-form input[name*="company"]{
  display:none !important;
}

/* reduce empty spacing */
.hsp-ig-profile-form table.swpm-form-table tr{ margin:0; padding:0; }
.hsp-ig-profile-form table.swpm-form-table td{ padding-top:0; padding-bottom:4px; }

@media (max-width:768px){
  .hsp-ig-profile-form form{ padding:20px 16px 24px; }
}

/* email readonly */
.hsp-ig-profile-form input[name="email"]{
  pointer-events:none !important;
  background:#f3f3f7 !important;
  color:#666 !important;
  cursor:not-allowed !important;
}

.hsp-ig-profile-form label[for="email"]::after{
  content:"（If you wish to change your email address, please contact us at support@happy-science.plus.）";
  display:block;
  margin-top:4px;
  font-size:11px;
  color:#999;
  line-height:1.4;
}

/* =========================
   Insta-style profile card UI (.hsp-ig-wrapper)
========================= */
.hsp-ig-wrapper{
  display:flex;
  justify-content:center;
  margin:40px 0 32px;
}

.hsp-ig-card{
  width:100%;
  max-width:960px;
  border-radius:32px;
  padding:24px 32px;
  background:#f6f7fb;
  box-shadow:0 24px 60px rgba(15,23,42,.14);
  min-height:600px !important; /* adjustable */
}

.hsp-ig-top-row{
  display:flex;
  align-items:center;
  gap:24px;
}

.hsp-ig-avatar{ flex-shrink:0; cursor:pointer; }

.hsp-ig-avatar-ring{
  width:96px;
  height:96px;
  border-radius:999px;
  padding:3px;
  background:radial-gradient(circle at 0 0,#ff8ea8,#ffc86b,#8bc5ff);
  display:flex;
  align-items:center;
  justify-content:center;
}

/* avatar image target */
.hsp-ig-avatar-inner{
  width:88px;
  height:88px;
  border-radius:50%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.hsp-ig-main{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.hsp-ig-header-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}

.hsp-ig-name-block{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.hsp-ig-username{
  font-size:18px;
  font-weight:600;
  color:#111827;
}
.hsp-ig-realname{
  font-size:14px;
  color:#6b7280;
}

.hsp-ig-edit-btn{
  border:none;
  border-radius:999px;
  padding:8px 16px;
  font-size:13px;
  font-weight:500;
  color:#be185d;
  background:#fee2f2;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease;
}
.hsp-ig-edit-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(190,24,93,.25);
}

.hsp-ig-stats-row{
  display:flex;
  gap:32px;
  margin-top:4px;
}
.hsp-ig-stat{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.hsp-ig-stat-number{
  font-size:16px;
  font-weight:600;
  color:#111827;
}
.hsp-ig-stat-label{
  font-size:12px;
  color:#9ca3af;
}

.hsp-ig-bio{
  margin-top:6px;
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:13px;
  color:#4b5563;
}
.hsp-ig-bio-line{
  display:block;
  font-size:14px;
  color:#666;
  margin-top:4px;
}
.hsp-ig-bio-line + .hsp-ig-bio-line{ margin-top:2px; }

@media (max-width:768px){
  .hsp-ig-card{ padding:20px 18px; border-radius:24px; }
  .hsp-ig-top-row{ align-items:flex-start; }
  .hsp-ig-header-row{ flex-direction:column; align-items:flex-start; }
  .hsp-ig-stats-row{ gap:20px; }
}

/* ================================
   SEEKER plan SWPM button
=============================== */
.seeker-plan-card .swpm-button-wrapper{
  text-align:center;
  margin-top:24px;
}

.seeker-plan-card .swpm-button-wrapper input[type="submit"],
.seeker-plan-card .swpm-button-wrapper button,
.seeker-plan-card .swpm-button-wrapper .stripe-button-el{
  background:linear-gradient(135deg,#f9d36a,#f6b048) !important;
  border-radius:999px !important;
  box-shadow:0 15px 30px rgba(0,0,0,.12) !important;
  border:none !important;
  padding:0 !important;
  height:52px !important;
  width:220px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  cursor:pointer !important;
  color:#fff !important;
  font-size:14px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
}

/* =========================
   Journal / Notes layout
========================= */
.hs-notes-journal{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:0;
  max-width:980px;
  margin:40px auto;
  background:linear-gradient(135deg,#f9fafb,#fff);
  border-radius:24px;
  box-shadow:
    0 24px 60px rgba(15,23,42,.15),
    0 0 0 1px rgba(229,231,235,.8);
  overflow:hidden;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.hs-notes-sidebar{
  background:linear-gradient(180deg,#f3f4ff 0%,#eff6ff 40%,#fdf2f8 100%);
  padding:16px 10px 16px 14px;
  border-right:1px solid rgba(209,213,219,.8);
  display:flex;
  flex-direction:column;
}

.hs-notes-month{
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#4b5563;
  margin-bottom:10px;
}

.hs-notes-list{
  flex:1 1 auto;
  overflow-y:auto;
  padding-right:4px;
}
.hs-notes-list::-webkit-scrollbar{ width:6px; }
.hs-notes-list::-webkit-scrollbar-thumb{
  background:rgba(148,163,184,.7);
  border-radius:999px;
}

.hs-notes-list-item{
  width:100%;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:8px;
  border-radius:16px;
  padding:8px 10px;
  margin-bottom:6px;
  border:none;
  background:rgba(255,255,255,.7);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  cursor:pointer;
  text-align:left;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.hs-notes-list-item:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(15,23,42,.14);
  background:rgba(255,255,255,.95);
}
.hs-notes-list-item.is-active{
  background:linear-gradient(135deg,#2563eb,#38bdf8);
  box-shadow:
    0 16px 34px rgba(37,99,235,.45),
    0 0 0 1px rgba(255,255,255,.8);
  color:#f9fafb;
}

.hs-notes-list-date{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  padding:4px 2px;
  background:rgba(15,23,42,.06);
}
.hs-notes-list-item.is-active .hs-notes-list-date{
  background:rgba(15,23,42,.2);
}

.hs-notes-list-weekday{
  font-size:.65rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hs-notes-list-day{
  font-size:1.1rem;
  font-weight:700;
}

.hs-notes-list-content{ min-width:0; }
.hs-notes-list-title{
  font-size:.82rem;
  font-weight:600;
  margin-bottom:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hs-notes-list-preview{
  font-size:.74rem;
  line-height:1.4;
  color:#4b5563;
  max-height:2.2em;
  overflow:hidden;
}
.hs-notes-list-item.is-active .hs-notes-list-preview{
  color:rgba(249,250,251,.9);
}

.hs-notes-main{
  padding:20px 28px 24px;
  background:radial-gradient(circle at top left,#f9fafb 0%,#fff 40%,#eff6ff 100%);
  display:flex;
  flex-direction:column;
}
.hs-notes-main-header{ margin-bottom:16px; }
.hs-notes-main-date{
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#6b7280;
}
.hs-notes-main-time{
  font-size:.8rem;
  color:#9ca3af;
  margin-top:2px;
}
.hs-notes-main-body{
  flex:1 1 auto;
  font-size:.95rem;
  line-height:1.8;
  color:#111827;
  background:#fff;
  border-radius:18px;
  box-shadow:
    0 18px 40px rgba(15,23,42,.08),
    0 0 0 1px rgba(229,231,235,.9);
  padding:18px 20px;
}
.hs-notes-main-body br + br{ line-height:1.1; }

@media (max-width:800px){
  .hs-notes-journal{ grid-template-columns:1fr; }
  .hs-notes-sidebar{
    border-right:none;
    border-bottom:1px solid rgba(209,213,219,.8);
    padding-bottom:10px;
  }
}

/* ============================================================
   User badge click layers (LOGIN-AWARE)
   - Logged out: whole badge -> login page
   - Logged in:  whole badge -> BuddyPress (/members/...) except Logout
============================================================ */

/* wrapper */
.hsp-user-badge,
.hsp_user_badge{
  position:relative !important;
  pointer-events:auto !important;
}

/* overlay link always exists and should capture clicks */
.hsp-user-badge-link{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  z-index:50 !important;
  border-radius:inherit !important;
}

/* keep visuals under overlay */
.hsp-user-avatar,
.hsp-user-text{
  position:relative !important;
  z-index:10 !important;
}

/* ===== Logged in behavior ===== */
.hsp-user-badge.is-logged-in .hsp-user-logout{
  position:relative !important;
  z-index:80 !important;         /* above overlay */
  pointer-events:auto !important;
}

/* everything else should NOT steal clicks */
.hsp-user-badge.is-logged-in .hsp-user-actions,
.hsp-user-badge.is-logged-in .hsp-plan-badge{
  position:relative !important;
  z-index:10 !important;         /* under overlay */
  pointer-events:none !important;
}

/* keep logout clickable even if inside actions */
.hsp-user-badge.is-logged-in .hsp-user-actions .hsp-user-logout{
  pointer-events:auto !important;
}

/* ===== Logged out behavior ===== */
/* Logged out: allow the visible "Log in" text to be clickable too (optional),
   but even if it isn't, overlay will take you to login anyway. */
.hsp-user-badge.is-logged-out .hsp-user-actions,
.hsp-user-badge.is-logged-out .hsp-user-logout{
  pointer-events:auto !important;
  position:relative !important;
  z-index:60 !important;         /* above overlay so user feels it's clickable */
}

/* ============================================================
   HS+ BuddyPress Skin (WordPress.com / BP Legacy)
   - Applies to ALL users (no username dependency)
   - Target: #buddypress / .bp-legacy (safe scope)
============================================================ */

/* ===== Theme tokens ===== */
#buddypress{
  --hs-bg1:#ffffff;
  --hs-bg2:#fff7e2;
  --hs-bg3:#eef6ff;
  --hs-text:#0f172a;
  --hs-muted:rgba(15,23,42,.55);
  --hs-line:rgba(148,163,184,.25);
  --hs-card:#ffffff;
  --hs-radius:22px;
  --hs-radius2:28px;
  --hs-shadow: 0 24px 60px rgba(15,23,42,.14), 0 0 0 1px rgba(255,255,255,.85);
  --hs-shadow2: 0 18px 45px rgba(15,23,42,.12), 0 0 0 1px rgba(229,231,235,.9);
  --hs-accent1:#4acbff;  /* sky */
  --hs-accent2:#8de7ff;  /* light sky */
  --hs-accent3:#ffe6a7;  /* gold */
  --hs-gold:#f4c96e;
  --hs-blue:#2563eb;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--hs-text);
}

/* ===== Page background (BP container) ===== */
body.buddypress #primary,
body.buddypress #content,
body.buddypress .site-content{
  background: radial-gradient(circle at top, var(--hs-bg1) 0, var(--hs-bg2) 35%, var(--hs-bg3) 100%);
}

/* Optional: give main BP area breathing room */
body.buddypress #buddypress{
  max-width: 1040px;
  margin: 28px auto 56px;
  padding: 18px 16px 26px;
}

/* ===== Generic card surface ===== */
#buddypress .bp-wrap,
#buddypress #item-header,
#buddypress #item-nav,
#buddypress .activity,
#buddypress .activity-update-form,
#buddypress .item-list-tabs,
#buddypress .members-directory-container,
#buddypress .groups-directory-container{
  border-radius: var(--hs-radius2);
}

/* ===== Profile header (cover + avatar area) ===== */
#buddypress #item-header{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--hs-line);
  box-shadow: var(--hs-shadow);
  overflow:hidden;
}

/* cover image height + soften */
#buddypress #header-cover-image{
  min-height: 180px;
  filter: saturate(1.05) contrast(1.02);
}

/* avatar ring HS+ style */
#buddypress #item-header-avatar img.avatar{
  border-radius: 999px !important;
  box-shadow: 0 14px 30px rgba(15,23,42,.18);
  padding: 3px;
  background: radial-gradient(circle at 0 0, #ff8ea8, #ffc86b, #8bc5ff);
}

/* header name + meta */
#buddypress #item-header-content{
  padding-top: 8px;
}
#buddypress #item-header-content h2,
#buddypress #item-header-content #item-header-title{
  font-weight: 750;
  letter-spacing: .01em;
}
#buddypress #item-header-content .activity{
  color: var(--hs-muted);
}

/* ===== Tabs (Activity / Profile / Settings…) ===== */
#buddypress #item-nav{
  margin-top: 14px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--hs-line);
  box-shadow: var(--hs-shadow2);
  padding: 10px 12px;
}

/* tab list */
#buddypress #item-nav ul{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding: 4px 6px;
  margin:0;
  border:0;
}

/* each tab */
#buddypress #item-nav li{
  margin:0 !important;
  border:0 !important;
}

/* tab link pill */
#buddypress #item-nav li a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(203,213,225,.7);
  background: rgba(255,255,255,.92);
  color: rgba(15,23,42,.78);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease;
}
#buddypress #item-nav li a:hover{
  transform: translateY(-1px);
  border-color: rgba(74,203,255,.8);
  box-shadow: 0 16px 34px rgba(15,23,42,.14);
}

/* current tab */
#buddypress #item-nav li.current a,
#buddypress #item-nav li.selected a{
  border: none;
  color: #0b1220;
  background: linear-gradient(135deg, var(--hs-accent1) 0%, var(--hs-accent2) 40%, var(--hs-accent3) 100%);
  box-shadow: 0 18px 40px rgba(255,230,167,.55), 0 0 0 1px rgba(255,255,255,.85) inset;
}

/* ===== Main content cards ===== */
#buddypress #item-body,
#buddypress .activity,
#buddypress .members,
#buddypress .groups,
#buddypress .notifications,
#buddypress .messages{
  margin-top: 14px;
}

#buddypress #item-body,
#buddypress .activity-list,
#buddypress .item-list,
#buddypress .profile,
#buddypress .settings,
#buddypress .notifications{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--hs-line);
  border-radius: var(--hs-radius2);
  box-shadow: var(--hs-shadow);
  padding: 16px 16px;
}

/* ===== Directory search / filters ===== */
#buddypress .dir-search input[type="search"],
#buddypress .dir-search input[type="text"],
#buddypress #search-members-form input[type="search"],
#buddypress #search-groups-form input[type="search"]{
  width: 100%;
  max-width: 420px;
  border-radius: 999px;
  border: 1px solid rgba(120,140,190,.55);
  padding: 10px 14px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
  outline:none;
}
#buddypress .dir-search input:focus{
  border-color: rgba(74,203,255,.9);
  box-shadow: 0 0 0 1px rgba(74,203,255,.35), 0 14px 34px rgba(15,23,42,.12);
}

/* ===== Activity composer (What’s new) ===== */
#buddypress form#whats-new-form,
#buddypress .activity-update-form{
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(148,163,184,.25);
  border-radius: var(--hs-radius2);
  box-shadow: var(--hs-shadow2);
  padding: 14px 14px 12px;
}

#buddypress #whats-new{
  width:100%;
  border-radius: 18px;
  border: 1px solid rgba(229,231,235,.95);
  background: linear-gradient(135deg,#fff,#f5f8ff);
  padding: 12px 12px;
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
}
#buddypress #whats-new:focus{
  outline:none;
  border-color: rgba(37,99,235,.6);
  box-shadow: 0 0 0 1px rgba(37,99,235,.25), 0 16px 34px rgba(15,23,42,.12);
}

/* Post update button -> HS+ gradient pill */
#buddypress #aw-whats-new-submit,
#buddypress input[type="submit"],
#buddypress button,
#buddypress a.button{
  border-radius: 999px !important;
  border: 0 !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #3b2b10 !important;
  background: linear-gradient(135deg, var(--hs-accent1) 0%, var(--hs-accent2) 40%, var(--hs-accent3) 100%) !important;
  box-shadow: 0 16px 36px rgba(255,230,167,.55) !important;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease !important;
}
#buddypress #aw-whats-new-submit:hover,
#buddypress input[type="submit"]:hover,
#buddypress button:hover,
#buddypress a.button:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 22px 44px rgba(15,23,42,.18) !important;
}

/* ===== Activity entries -> card look ===== */
#buddypress .activity-list li.activity-item{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(15,23,42,.10);
  padding: 14px 14px;
  margin: 12px 0;
}

#buddypress .activity-header a,
#buddypress .activity-meta a{
  text-decoration: none !important;
}
#buddypress .activity-header{
  color: var(--hs-muted);
}

/* comment box */
#buddypress .activity-comments{
  margin-top: 10px;
}
#buddypress .activity-comments form textarea{
  border-radius: 16px;
  border: 1px solid rgba(229,231,235,.95);
  background: #fff;
}

/* ===== Mobile tweaks ===== */
@media (max-width: 768px){
  body.buddypress #buddypress{
    margin: 14px auto 40px;
    padding: 12px 10px 18px;
  }
  #buddypress #header-cover-image{ min-height: 140px; }
  #buddypress #item-nav li a{
    padding: 8px 12px;
    font-size: 12px;
  }
}

/* ============================================================
   HS+ BuddyPress Skin (All users)
   Pages:
   /members/{user}/settings/
   /members/{user}/notifications/
   /members/{user}/profile/
   (username is dynamic - selectors are user-agnostic)
============================================================ */

/* ---------- 0) Theme tokens ---------- */
:root{
  --hs-card-bg: rgba(255,255,255,.92);
  --hs-card-border: rgba(229,231,235,.85);
  --hs-shadow-lg: 0 24px 60px rgba(15,23,42,.12);
  --hs-shadow-md: 0 14px 30px rgba(15,23,42,.10);
  --hs-shadow-sm: 0 10px 22px rgba(15,23,42,.08);

  --hs-text: #0f172a;
  --hs-muted: rgba(15,23,42,.62);

  --hs-gold-1:#fff4d2;
  --hs-gold-2:#ffe4a8;
  --hs-gold-3:#ffd57a;

  --hs-blue-1:#eaf3ff;
  --hs-blue-2:#cfe6ff;

  --hs-ring: rgba(59,130,246,.35);
}

/* ---------- 1) Page background + layout ---------- */
body.buddypress,
body.bp-user{
  background:
    radial-gradient(circle at 10% 0%, #ffffff 0%, #f6f9ff 38%, #fff7e2 100%) !important;
}

#buddypress,
.buddypress-wrap{
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 34px 16px 70px !important;
}

/* Hide default heavy separators */
#buddypress hr,
.buddypress-wrap hr{
  border: none !important;
  height: 1px !important;
  background: rgba(229,231,235,.6) !important;
  margin: 18px 0 !important;
}

/* ---------- 2) Top profile header card (cover/avatar block) ---------- */
/* BuddyPress Legacy/New templates differ; cover these common blocks */
#buddypress #item-header,
#buddypress .bp-member-short-description,
#buddypress .item-header-wrap,
#buddypress .bp-single-vert-nav .item-header-wrap{
  border: 0 !important;
  background: transparent !important;
}

#buddypress #item-header{
  background: transparent !important;
  margin-bottom: 18px !important;
}

/* If the header has its own container, give it HS+ card look */
#buddypress #item-header .bp-wrap,
#buddypress #item-header .item-header-wrap,
#buddypress #item-header #cover-image-container{
  background: var(--hs-card-bg) !important;
  border-radius: 26px !important;
  box-shadow: var(--hs-shadow-lg), 0 0 0 1px var(--hs-card-border) inset !important;
  overflow: hidden !important;
}

/* Cover image rounding */
#buddypress #cover-image-container,
#buddypress .bp-cover-image{
  border-radius: 26px !important;
  overflow: hidden !important;
}

/* Avatar circle polish */
#buddypress #item-header-avatar img,
#buddypress .item-header-avatar img{
  border-radius: 999px !important;
  box-shadow: 0 16px 34px rgba(15,23,42,.18), 0 0 0 4px rgba(255,255,255,.9) !important;
}

/* Username / meta text */
#buddypress #item-header-content,
#buddypress .item-header-content{
  color: var(--hs-text) !important;
}

#buddypress #item-header-content .user-nicename,
#buddypress #item-header-content .item-meta,
#buddypress .item-header-content .item-meta{
  color: var(--hs-muted) !important;
}

/* ---------- 3) Main content card (the area under tabs) ---------- */
#buddypress .item-body,
#buddypress .bp-wrap,
#buddypress .profile,
#buddypress .settings,
#buddypress .notifications{
  background: var(--hs-card-bg) !important;
  border-radius: 26px !important;
  box-shadow: var(--hs-shadow-lg), 0 0 0 1px var(--hs-card-border) inset !important;
  padding: 22px 22px 26px !important;
}

/* Keep inner sections airy */
#buddypress .item-body > *,
#buddypress .bp-wrap > *{
  max-width: 900px;
}

/* ---------- 4) Primary tabs (Activity/Profile/Notifications/Settings) ---------- */
#buddypress .bp-navs,
#buddypress .bp-subnavs{
  border: none !important;
  background: transparent !important;
}

#buddypress .bp-navs ul,
#buddypress .bp-subnavs ul{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  padding: 0 !important;
  margin: 14px 0 16px !important;
}

#buddypress .bp-navs li,
#buddypress .bp-subnavs li{
  margin:0 !important;
}

#buddypress .bp-navs a,
#buddypress .bp-subnavs a{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(209,213,219,.75) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: var(--hs-shadow-sm) !important;
  color: var(--hs-text) !important;
  text-decoration:none !important;
  font-weight:700 !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

#buddypress .bp-navs li.selected a,
#buddypress .bp-subnavs li.selected a,
#buddypress .bp-navs a:hover,
#buddypress .bp-subnavs a:hover{
  background: linear-gradient(135deg, #ffffff 0%, var(--hs-gold-1) 45%, var(--hs-gold-2) 100%) !important;
  border-color: rgba(245,158,11,.45) !important;
  box-shadow: 0 16px 34px rgba(245,158,11,.15), var(--hs-shadow-sm) !important;
}

/* ---------- 5) Sub tabs inside each page (Settings: General/Mail/etc) ---------- */
#buddypress .subnav,
#buddypress .bp-subnavs{
  margin-top: 10px !important;
}

/* ---------- 6) Forms / Inputs ---------- */
#buddypress input[type="text"],
#buddypress input[type="email"],
#buddypress input[type="password"],
#buddypress input[type="search"],
#buddypress textarea,
#buddypress select{
  width: 100% !important;
  border-radius: 14px !important;
  border: 1px solid rgba(209,213,219,.85) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.06) !important;
  padding: 12px 14px !important;
  color: var(--hs-text) !important;
  outline: none !important;
}

#buddypress textarea{ min-height: 120px !important; }

#buddypress input:focus,
#buddypress textarea:focus,
#buddypress select:focus{
  border-color: rgba(59,130,246,.55) !important;
  box-shadow: 0 0 0 4px var(--hs-ring), 0 14px 28px rgba(15,23,42,.08) !important;
}

/* Labels + descriptions */
#buddypress label{
  font-weight: 700 !important;
  color: var(--hs-text) !important;
}
#buddypress .description,
#buddypress .bp-feedback{
  color: var(--hs-muted) !important;
}

/* ---------- 7) Buttons ---------- */
#buddypress button,
#buddypress input[type="submit"],
#buddypress a.button,
#buddypress .button{
  border: 0 !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  color: rgba(15,23,42,.92) !important;
  background: linear-gradient(135deg, #ffffff 0%, var(--hs-gold-1) 38%, var(--hs-gold-2) 100%) !important;
  box-shadow: 0 18px 40px rgba(245,158,11,.16), 0 10px 22px rgba(15,23,42,.10) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease !important;
}

#buddypress button:hover,
#buddypress input[type="submit"]:hover,
#buddypress a.button:hover,
#buddypress .button:hover{
  transform: translateY(-1px) !important;
  filter: saturate(1.03) !important;
  box-shadow: 0 24px 54px rgba(245,158,11,.20), 0 14px 30px rgba(15,23,42,.12) !important;
}

#buddypress button:active,
#buddypress input[type="submit"]:active,
#buddypress a.button:active,
#buddypress .button:active{
  transform: translateY(0px) !important;
}

/* Secondary links (Cancel etc.) */
#buddypress .cancel,
#buddypress a.cancel,
#buddypress .button.cancel{
  background: linear-gradient(135deg, #ffffff 0%, var(--hs-blue-1) 55%, var(--hs-blue-2) 100%) !important;
  box-shadow: 0 18px 40px rgba(59,130,246,.12), 0 10px 22px rgba(15,23,42,.08) !important;
}

/* ---------- 8) Tables (Notifications settings etc.) ---------- */
#buddypress table{
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.08), 0 0 0 1px rgba(229,231,235,.85) inset !important;
  background: rgba(255,255,255,.92) !important;
}

#buddypress table th,
#buddypress table td{
  border: 0 !important;
  padding: 12px 14px !important;
  vertical-align: middle !important;
}

#buddypress table thead th{
  background: linear-gradient(135deg, #ffffff 0%, var(--hs-gold-1) 45%, var(--hs-gold-2) 100%) !important;
  color: rgba(15,23,42,.90) !important;
  font-weight: 900 !important;
}

#buddypress table tbody tr{
  border-top: 1px solid rgba(229,231,235,.7) !important;
}

#buddypress table tbody tr:nth-child(even){
  background: rgba(248,250,252,.55) !important;
}

/* ---------- 9) Notices / feedback (e.g., “no notifications”) ---------- */
#buddypress .bp-feedback,
#buddypress div#message,
#buddypress .notice,
#buddypress .info,
#buddypress .updated,
#buddypress .error{
  border: 0 !important;
  border-radius: 18px !important;
  padding: 14px 16px !important;
  margin: 14px 0 !important;
  box-shadow: var(--hs-shadow-sm), 0 0 0 1px rgba(229,231,235,.85) inset !important;
  background: rgba(255,255,255,.92) !important;
  color: var(--hs-t

		/* Members directory: Dharma Friend CTA */
#buddypress ul#members-list li .hsp-dharmafriend-cta{
  margin-top: 10px;
}

/* BuddyPress default friend button -> HS+ style */
#buddypress ul#members-list li .hsp-dharmafriend-cta a.button,
#buddypress ul#members-list li .hsp-dharmafriend-cta a.friendship-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 10px 14px !important;
  border-radius: 999px !important;

  background: linear-gradient(180deg, #fff8df 0%, #f6d88a 100%) !important;
  border: 1px solid rgba(150, 110, 20, 0.25) !important;

  color: rgba(35, 25, 10, 0.95) !important;
  font-weight: 700 !important;
  letter-spacing: .2px;
  text-decoration: none !important;

  box-shadow:
    0 12px 28px rgba(28, 53, 86, 0.12),
    0 0 0 1px rgba(255,255,255,0.55) inset;
}

#buddypress ul#members-list li .hsp-dharmafriend-cta a.button:hover{
  transform: translateY(-1px);
  box-shadow:
    0 16px 36px rgba(28, 53, 86, 0.16),
    0 0 0 1px rgba(255,255,255,0.65) inset;
}

/* Pending/Requested state (BuddyPress adds "pending"/"requested" classes depending on theme) */
#buddypress ul#members-list li .hsp-dharmafriend-cta .pending a,
#buddypress ul#members-list li .hsp-dharmafriend-cta a.requested,
#buddypress ul#members-list li .hsp-dharmafriend-cta a.pending{
  opacity: .7 !important;
  pointer-events: none;
}

	.hsp-dharma-pending{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  background: rgba(238,246,255,.9);
  box-shadow: 0 10px 22px rgba(121,159,224,.18);
  border: 1px solid rgba(169,190,214,.55);
}

/* ===========================
   HS+ BuddyPress Omni Search (Instagram-like)
   Wrapper: .hsp-bp-omni-search
=========================== */

.hsp-bp-omni-search{
  --hsp-blue: rgba(30, 58, 95, .92);
  --hsp-blue-soft: rgba(30, 58, 95, .12);
  --hsp-border: rgba(169, 190, 214, .65);
  --hsp-shadow: 0 28px 70px rgba(28,53,86,.14), 0 0 0 1px rgba(255,255,255,.9) inset;
  --hsp-gold: linear-gradient(135deg,#fff0c6 0%,#f6d081 38%,#eeb74a 100%);
  --hsp-radius: 18px;
  position: relative;
}

/* ====== Search Bar (Card) ====== */
.hsp-bp-omni-search .hsp-omni-bar,
.hsp-bp-omni-search form,
.hsp-bp-omni-search .search-form{
  position: relative;
  display: flex;
  gap: 10px;
  align-items: center;
}

/* input */
.hsp-bp-omni-search input[type="search"],
.hsp-bp-omni-search input[type="text"]{
  width: min(520px, 92vw);
  max-width: 520px;
  box-sizing: border-box;
  border-radius: 999px;
  border: 1px solid var(--hsp-border);
  padding: 12px 46px 12px 44px;
  font-size: 14px;
  background: linear-gradient(135deg,#ffffff,#f3f7ff);
  box-shadow: 0 16px 34px rgba(151,178,214,.22), 0 0 0 1px rgba(255,255,255,.9) inset;
  outline: none;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

.hsp-bp-omni-search input[type="search"]:focus,
.hsp-bp-omni-search input[type="text"]:focus{
  border-color: rgba(121,159,224,.95);
  box-shadow: 0 20px 45px rgba(121,159,224,.20), 0 0 0 1px rgba(255,255,255,.92) inset;
  transform: translateY(-1px);
}

/* magnifier icon (pure CSS) */
.hsp-bp-omni-search .hsp-omni-icon{
  position:absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  opacity: .55;
  pointer-events: none;
}
.hsp-bp-omni-search .hsp-omni-icon:before{
  content:"";
  position:absolute;
  inset: 0;
  border: 2px solid rgba(24,42,74,.55);
  border-radius: 50%;
}
.hsp-bp-omni-search .hsp-omni-icon:after{
  content:"";
  position:absolute;
  width: 9px; height: 2px;
  background: rgba(24,42,74,.55);
  right: -5px; bottom: -1px;
  transform: rotate(45deg);
  border-radius: 2px;
}

/* clear button (optional if you have one) */
.hsp-bp-omni-search .hsp-omni-clear{
  position:absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px; height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(169,190,214,.6);
  background: rgba(255,255,255,.85);
  box-shadow: 0 8px 18px rgba(151,178,214,.22);
  cursor: pointer;
  display: grid;
  place-items: center;
  opacity: .0;  /* JSで入力時に1にする想定 */
  transition: opacity .15s ease, transform .15s ease, filter .15s ease;
}
.hsp-bp-omni-search .hsp-omni-clear:hover{
  filter: brightness(1.03);
  transform: translateY(-50%) scale(1.02);
}

/* ====== Tabs ====== */
.hsp-bp-omni-search .hsp-omni-tabs{
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* タブ基本 */
.hsp-bp-omni-search .hsp-omni-tab,
.hsp-bp-omni-search .hsp-omni-tabs a,
.hsp-bp-omni-search .hsp-omni-tabs button{
  appearance: none;
  border: 1px solid rgba(169,190,214,.65);
  background: rgba(255,255,255,.80);
  color: rgba(24,42,74,.78);
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: none;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(151,178,214,.16);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease, border-color .15s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* hover */
.hsp-bp-omni-search .hsp-omni-tab:hover,
.hsp-bp-omni-search .hsp-omni-tabs a:hover,
.hsp-bp-omni-search .hsp-omni-tabs button:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(151,178,214,.20);
  border-color: rgba(121,159,224,.7);
}

/* active（あなたのJS側で .is-active を付ける） */
.hsp-bp-omni-search .hsp-omni-tab.is-active,
.hsp-bp-omni-search .hsp-omni-tabs a.is-active,
.hsp-bp-omni-search .hsp-omni-tabs button.is-active{
  background: var(--hsp-gold);
  color: rgba(75,50,19,.95);
  border: 0;
  box-shadow: 0 18px 35px rgba(196,143,62,.42), 0 0 0 1px rgba(255,255,255,.75) inset;
}

/* ====== Results (Card) ====== */
.hsp-bp-omni-search .hsp-omni-results{
  margin-top: 14px;
  width: min(720px, 92vw);
  background: rgba(255,255,255,.86);
  border-radius: var(--hsp-radius);
  border: 1px solid rgba(169, 190, 214, .45);
  box-shadow: var(--hsp-shadow);
  overflow: hidden;
  backdrop-filter: blur(10px);
}

/* section header (Members / Activity / Groups) */
.hsp-bp-omni-search .hsp-omni-section-title{
  padding: 12px 14px;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(24,42,74,.65);
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(243,247,255,.9));
  border-bottom: 1px solid rgba(169,190,214,.35);
}

/* result row */
.hsp-bp-omni-search .hsp-omni-item{
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(169,190,214,.22);
}
.hsp-bp-omni-search .hsp-omni-item:last-child{ border-bottom: 0; }

.hsp-bp-omni-search .hsp-omni-avatar{
  width: 44px; height: 44px;
  border-radius: 999px;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.85);
  box-shadow: 0 10px 22px rgba(28,53,86,.18);
  background: #fff;
}
.hsp-bp-omni-search .hsp-omni-avatar img{
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

.hsp-bp-omni-search .hsp-omni-main{
  min-width: 0;
}
.hsp-bp-omni-search .hsp-omni-name{
  font-size: 14px;
  font-weight: 700;
  color: rgba(24,42,74,.92);
  line-height: 1.2;
}
.hsp-bp-omni-search .hsp-omni-meta{
  font-size: 12px;
  color: rgba(24,42,74,.62);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 48ch;
}

/* right side action pill */
.hsp-bp-omni-search .hsp-omni-action{
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  border: 1px solid rgba(169,190,214,.55);
  background: rgba(255,255,255,.8);
  color: rgba(24,42,74,.78);
  box-shadow: 0 10px 20px rgba(151,178,214,.16);
  text-decoration: none;
}
.hsp-bp-omni-search .hsp-omni-action:hover{
  filter: brightness(1.03);
}

/* ====== Mobile tweaks ====== */
@media (max-width: 768px){
  .hsp-bp-omni-search input[type="search"],
  .hsp-bp-omni-search input[type="text"]{
    width: 92vw;
    max-width: 92vw;
  }
  .hsp-bp-omni-search .hsp-omni-results{
    width: 92vw;
  }
  .hsp-bp-omni-search .hsp-omni-item{
    grid-template-columns: 40px 1fr;
  }
  .hsp-bp-omni-search .hsp-omni-action{
    grid-column: 1 / -1;
    justify-self: start;
    margin-left: 52px;
  }
}

/* ============================================================
   page-id-865 (Movie): Dropdown menu text -> Navy (default)
   - Astra / Elementor 両対応
   - hoverでも水色にさせない
============================================================ */

/* --- Astra系: sub-menu link --- */
body.page-id-865 #ast-desktop-header .main-header-menu .sub-menu a,
body.page-id-865 #ast-desktop-header .main-header-menu .sub-menu a.menu-link,
body.page-id-865 #ast-desktop-header .main-header-menu .sub-menu .menu-link{
  color: rgba(24,42,74,.92) !important;
}

/* hover / focus / active もネイビー固定 */
body.page-id-865 #ast-desktop-header .main-header-menu .sub-menu a:hover,
body.page-id-865 #ast-desktop-header .main-header-menu .sub-menu a:focus,
body.page-id-865 #ast-desktop-header .main-header-menu .sub-menu a:active,
body.page-id-865 #ast-desktop-header .main-header-menu .sub-menu li:hover > a,
body.page-id-865 #ast-desktop-header .main-header-menu .sub-menu li:focus-within > a{
  color: rgba(24,42,74,.92) !important;
  background: transparent !important;
  text-shadow: none !important;
  filter: none !important;
}

/* --- Elementor Nav Menu が犯人の場合も潰す --- */
body.page-id-865 header .elementor-nav-menu--dropdown a,
body.page-id-865 header .elementor-nav-menu--dropdown .elementor-item{
  color: rgba(24,42,74,.92) !important;
}
body.page-id-865 header .elementor-nav-menu--dropdown a:hover,
body.page-id-865 header .elementor-nav-menu--dropdown .elementor-item:hover{
  color: rgba(24,42,74,.92) !important;
  background: transparent !important;
}

/* --- 透明ヘッダー/白強制の相殺（sub-menuだけ） --- */
body.page-id-865 #ast-desktop-header .ast-primary-header-bar .main-header-menu .sub-menu{
  color: rgba(24,42,74,.92) !important;
}

/* ============================================================
   HS+ HOME (page-id-254)
   Transparent glass header over hero video
   -> turns solid white after hero ends
============================================================ */

body.page-id-254{
  --hsp-header-h: 90px; /* JSで実測して上書きされます */
  --hsp-nav-dark: rgba(24,42,74,.92);
  --hsp-nav-light: rgba(255,255,255,.94);
}

/* ✅ Homeだけヘッダーを動画に被せる（fixed） */
body.page-id-254 header.site-header,
body.page-id-254 #masthead{
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999999 !important;
  width: 100%;
}

/* ✅ fixed になった分、コンテンツがヘッダーに隠れないように余白を作る */
body.page-id-254 #content,
body.page-id-254 .site-content{
  padding-top: var(--hsp-header-h) !important;
}

/* Astraのヘッダーバー（多くのケースでここが本体） */
body.page-id-254 .main-header-bar,
body.page-id-254 .ast-primary-header-bar,
body.page-id-254 .ast-main-header-wrap{
  transition:
    background-color .25s ease,
    backdrop-filter .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    color .25s ease;
}

/* ------------------------------------------------------------
   A) ヒーロー上：透明＋ガラス（薄い白フィルター）
------------------------------------------------------------ */
body.page-id-254.hsp-home-header--transparent .main-header-bar,
body.page-id-254.hsp-home-header--transparent .ast-primary-header-bar{
  background: rgba(255,255,255,.10) !important; /* 透明＋薄白 */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
}

/* ロゴ・メニュー文字：白（動画の上で見えるように） */
body.page-id-254.hsp-home-header--transparent
  #ast-desktop-header .main-header-menu a,
body.page-id-254.hsp-home-header--transparent
  #ast-desktop-header .main-header-menu a.menu-link,
body.page-id-254.hsp-home-header--transparent
  #ast-desktop-header .ast-header-button-1 a,
body.page-id-254.hsp-home-header--transparent
  header .elementor-nav-menu--main a,
body.page-id-254.hsp-home-header--transparent
  header .elementor-nav-menu--main .elementor-item{
  color: var(--hsp-nav-light) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

/* サブメニュー（ドロップダウン）は白背景にして読みやすく */
body.page-id-254.hsp-home-header--transparent
  #ast-desktop-header .main-header-menu .sub-menu,
body.page-id-254.hsp-home-header--transparent
  header .elementor-nav-menu--dropdown{
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 22px 60px rgba(15,23,42,.18);
}
body.page-id-254.hsp-home-header--transparent
  #ast-desktop-header .main-header-menu .sub-menu a,
body.page-id-254.hsp-home-header--transparent
  header .elementor-nav-menu--dropdown a,
body.page-id-254.hsp-home-header--transparent
  header .elementor-nav-menu--dropdown .elementor-item{
  color: var(--hsp-nav-dark) !important;
  text-shadow: none !important;
}

/* ------------------------------------------------------------
   B) ヒーローを抜けたら：白背景（透明解除）＋文字ネイビー
------------------------------------------------------------ */
body.page-id-254.hsp-home-header--solid .main-header-bar,
body.page-id-254.hsp-home-header--solid .ast-primary-header-bar{
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 16px 44px rgba(15,23,42,.10);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.page-id-254.hsp-home-header--solid
  #ast-desktop-header .main-header-menu a,
body.page-id-254.hsp-home-header--solid
  #ast-desktop-header .main-header-menu a.menu-link,
body.page-id-254.hsp-home-header--solid
  #ast-desktop-header .ast-header-button-1 a,
body.page-id-254.hsp-home-header--solid
  header .elementor-nav-menu--main a,
body.page-id-254.hsp-home-header--solid
  header .elementor-nav-menu--main .elementor-item{
  color: var(--hsp-nav-dark) !important;
  text-shadow: none !important;
}

/* hover色を暴れさせない（必要なら） */
body.page-id-254.hsp-home-header--solid
  #ast-desktop-header .main-header-menu a:hover,
body.page-id-254.hsp-home-header--solid
  header .elementor-nav-menu--main a:hover{
  color: rgba(24,42,74,.92) !important;
}

/* モバイル：透明状態でも読めるように少し濃く */
@media (max-width: 921px){
  body.page-id-254.hsp-home-header--transparent .main-header-bar,
  body.page-id-254.hsp-home-header--transparent .ast-primary-header-bar{
    background: rgba(255,255,255,.14) !important;
  }
}
	
	/* ============================================================
   HOME header: transparent + remove white gap under header
   page-id-254
============================================================ */

/* 1) ヘッダーを上に重ねて透明化（コンテンツの上に被せる） */
body.page-id-254 .elementor-location-header{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
}

/* Elementorがヘッダー内に付ける白背景も殺す */
body.page-id-254 .elementor-location-header .elementor-section,
body.page-id-254 .elementor-location-header .elementor-container,
body.page-id-254 .elementor-location-header .elementor-widget-wrap{
  background: transparent !important;
}

/* 2) ヘッダー直下の「白い余白」の原因になりやすい margin/padding を潰す */
body.page-id-254 #content,
body.page-id-254 .site-content,
body.page-id-254 main,
body.page-id-254 .entry-content{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 3) “最初のセクション”が上から始まるように（Elementorの構造差分に両対応） */
body.page-id-254 .elementor-section-wrap > .elementor-section:first-child,
body.page-id-254 .elementor > .elementor-section:first-child,
body.page-id-254 .e-con:first-child{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 4) 透明ヘッダー上でメニュー文字が見えるように（必要なら） */
body.page-id-254 .elementor-location-header .elementor-nav-menu--main a{
  color: rgba(255,255,255,.96) !important;
}
body.page-id-254 .elementor-location-header .elementor-nav-menu--main a:hover{
  opacity: .85;
}

/* 5) ドロップダウン背景（必要なら） */
body.page-id-254 .elementor-location-header .elementor-nav-menu--dropdown{
  background: rgba(15,23,42,.72) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* 6) ロゴに軽い影（映像背景で沈む場合） */
body.page-id-254 .elementor-location-header img{
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}