@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:wght@600;700&display=swap');
:root{--ff-heading:"Playfair Display",serif;--ff-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--color-primary:#000;--color-secondary:#333;--color-text:#7a7a7a;--color-accent:#333;--color-white:#fff;--color-muted:#e9e9e9;--color-mid:#bfbdbd;--h1-size:58px;--h2-size:36px;--h3-size:24px;--h4-size:20px;--body-size:16px;--small-size:14px;--weight-heading:600;--weight-body:300;--weight-medium:500;--line-tight:1.2;--line-normal:1.5;--radius-0:0;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem}
html,body{background:var(--color-white);color:var(--color-text);font-family:var(--ff-body);font-size:var(--body-size);font-weight:var(--weight-body);line-height:var(--line-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6,.table thead th{font-family:var(--ff-heading);font-weight:var(--weight-heading);color:var(--color-primary)}
.h1,h1{font-size:var(--h1-size);line-height:var(--line-tight);margin:0 0 var(--space-5)}
.h2,h2{font-size:var(--h2-size);line-height:1.3;margin:0 0 var(--space-4)}
.h3,h3{font-size:var(--h3-size);line-height:var(--line-tight);margin:0 0 var(--space-3)}
a,a:focus,a:hover{color:var(--color-secondary);text-decoration:none;transition:color .2s,opacity .2s}
.btn,.form-label{font-family:var(--ff-body)}
.badge,.btn,.dash-title,.form-label{font-weight:600}
.lead{color:var(--color-secondary);font-size:18px;line-height:var(--line-normal)}
.btn{border-radius:var(--radius-0);letter-spacing:.3px;padding:12px 28px;border-width:2px;transition:.2s}
.btn-dark,.btn-primary,.elementor-button,.pagination .page-item.active .page-link,button[type=submit]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}
.btn-dark:hover,.btn-primary:hover,.elementor-button:hover,button[type=submit]:hover{background:var(--color-white);border-color:var(--color-primary);color:var(--color-primary)}
.btn-outline-dark,.btn-outline-primary{border-color:var(--color-primary);color:var(--color-primary);background:transparent}
.btn-outline-dark:hover,.btn-outline-primary:hover{background:var(--color-primary);color:var(--color-white)}
.btn-secondary{background:var(--color-secondary);color:var(--color-white);border-color:var(--color-secondary)}
.btn-secondary:hover,.card{background:var(--color-white)}
.form-control,.form-select{border-radius:var(--radius-0);border:1px solid var(--color-mid);padding:12px 14px;box-shadow:none!important;transition:border-color .2s;color:var(--color-secondary)}
.form-control:focus,.form-select:focus{border-color:var(--color-primary);outline:0}
.alert,.card,.modal-content{border-radius:var(--radius-0);border:1px solid var(--color-muted)}
.card{border:1px solid var(--color-muted)}
.card-header,.card-footer{background:#f9f9f9;border-color:var(--color-muted)}
.nav-tabs{border-bottom:1px solid var(--color-muted);gap:0}
.nav-tabs .nav-link{border:none;border-radius:var(--radius-0);padding:12px 16px;color:var(--color-secondary)}
.nav-tabs .nav-link.active,.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{color:var(--color-primary);background:transparent;position:relative}
.table thead th{color:var(--color-primary);border-bottom:2px solid var(--color-muted)}
.table td,.table th,.list-group-item{border-color:var(--color-muted)}
.badge,figure,img,video{border-radius:var(--radius-0)}
.alert-info{border-color:var(--color-muted);background:#f7f7f7;color:var(--color-secondary)}
.profile-header,img.img-fluid,video.w-100{border:1px solid var(--color-muted)}
hr{border-color:var(--color-muted);opacity:1}
footer{border-top:1px solid var(--color-muted);color:var(--color-secondary);padding-top:var(--space-5)}
.text-muted{color:var(--color-text)!important}
.kicker,.section-kicker,.pagination .page-link{color:var(--color-secondary)}
.kicker,.section-kicker{font-family:Cinzel,serif;font-size:12px;letter-spacing:1.3px;text-transform:uppercase}
.container,.container-fluid{padding-top:clamp(1.5rem,2vw,2.5rem);padding-bottom:clamp(1.5rem,2vw,2.5rem)}
.cta-band,.profile-header{padding:clamp(1rem,3vw,2rem)}
.profile-header{background:var(--color-white)}
.profile-avatar{width:120px;height:120px;object-fit:cover;border:3px solid var(--color-primary)}
.dropdown-menu,.pagination .page-link,.toast{border-radius:var(--radius-0);border-color:var(--color-muted)}
.btn-row .btn{margin-right:var(--space-2);margin-bottom:var(--space-2)}
.form-control[type=file]{padding:10px}
.pagination .page-link:hover{color:var(--color-primary);border-color:var(--color-primary)}
.subtext{font-size:var(--small-size);color:var(--color-text)}
.cta-band{background:#f9f9f9;border:1px solid var(--color-muted)}
.bg-light{background-color:#fff!important}
.dash-tile{display:block;background-color:#fff;border:1px solid #e9e9e9;border-radius:0;transition:transform .15s,box-shadow .15s,border-color .15s,background-color .15s}
.btn-dark,.btn-outline-primary{border-radius:0!important;border-color:#000!important}
.dash-tile:hover,.dash-tile:focus{background-color:#fff;border-color:#000;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08);color:#000}
.dash-tile-inner{padding:22px 16px;text-align:center}
.dash-icon-wrap{display:flex;align-items:center;justify-content:center;height:56px;margin-bottom:12px}
.dash-icon{font-size:28px;line-height:1;color:#000}
.dash-title{font-family:"Playfair Display",Georgia,serif;font-size:18px;line-height:1.3em;color:#000}
.badge-scheduled,.badge-published{font-weight:500;padding:.35rem .6rem;border-radius:999px}
.badge-scheduled{background:#000;color:#fff}
.badge-published{background:#fff;color:#000;border:1px solid #000}
@media (max-width:576px){.dash-icon{font-size:26px}.dash-title{font-size:16px}}
.btn-dark{background-color:#000!important;color:#fff!important}
.btn-dark:hover,.btn-dark:focus{background-color:#fff!important;color:#000!important;border-color:#000!important}
.btn-outline-primary{color:#000!important}
.btn-outline-primary:hover,.btn-outline-primary:focus{background-color:#000!important;color:#fff!important}
.card{border-color:#e9e9e9}
.gallery-grid .gallery-card{border-radius:0;border:1px solid #e9e9e9;overflow:hidden;transition:transform .14s,box-shadow .14s,border-color .14s;background:#fff}
.gallery-grid .gallery-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);border-color:#dcdcdc}
.gallery-img{display:block;width:100%;height:auto;object-fit:contain;background:#f8f8f8;border-bottom:1px solid #eaeaea}
.media-title,.memory-card .card-title,.timeline-card .card-title{font-family:"Playfair Display",serif;font-weight:600;line-height:1.2}
.gallery-card ul{line-height:1.4}
.gallery-card i{min-width:16px;text-align:center}
.profile-edit .profile-side{border-radius:1rem;border:1px solid #e9e9e9;background:#fff}
.media-card,.profile-edit-card{border:1px solid #e9e9e9;background:#fff;border-radius:0;transition:box-shadow .14s,border-color .14s,transform .14s}
.media-card:hover,.profile-edit-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);border-color:#dcdcdc}
.profile-photo-wrap{display:inline-block}
.profile-photo{width:140px;height:140px;object-fit:cover}
.profile-photo.placeholder{width:140px;height:140px;background:#f5f5f5;color:#999}
.profile-edit-card{transition:box-shadow .14s,border-color .14s}
.form-text,.media-desc{color:#7a7a7a}
.media-card .media-card-body,.media-card-body{padding:14px}
.media-title{font-size:18px;color:#000;margin:0}
.video-wrap{position:relative;overflow:hidden;aspect-ratio:16/9}
.video-wrap .video-el{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;background:#000}
.btn-outline-dark{color:#000;border-color:#000;background:#fff}
.btn-outline-dark:hover,.btn-outline-dark:focus{background:#000;color:#fff}
video{width:100%}
.timeline-card{border-radius:0;border:1px solid #e9e9e9;transition:transform .18s,box-shadow .18s,border-color .18s;background:#fff}
.timeline-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.06);border-color:#333}
.timeline-media-wrap{position:relative;overflow:hidden;border-bottom:1px solid #e9e9e9;width:100%;background:#f8f9fa}
.timeline-media-img{max-width:100%;width:100%;height:auto;display:block}
.timeline-card .card-title{margin-bottom:.25rem}
@media (max-width:575.98px){.timeline-card .card-body{padding:1rem 1rem 1.25rem}}
.memory-masonry{column-count:1;column-gap:1rem}
@media (min-width:576px){.memory-masonry{column-count:2}}
@media (min-width:992px){.memory-masonry{column-count:3}}
@media (min-width:1400px){.memory-masonry{column-count:4}}
.memory-item{break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:1rem}
.memory-card{border:1px solid #e9e9e9;box-shadow:0 2px 16px rgba(0,0,0,.06);transition:transform .15s,box-shadow .15s,border-color .15s;background:#fff}
.memory-card:hover{box-shadow:0 6px 22px rgba(0,0,0,.1);border-color:#000}
.memory-media-wrap{background:#f7f7f7;border-bottom:1px solid #eee;padding:8px}
.memory-media-img{display:block;max-width:100%;height:auto;object-fit:contain}
.memory-media-video,.timeline-media-video{width:100%;height:auto;display:block;background:#000}
.bg-dark-subtle{background-color:#e9e9e9!important}
.darkoverlay{z-index:900!important}
.modal-backdrop.show{opacity:.5}
.card .img, .card img,.card video,.modal-content,.modal-footer,.modal-header{border-radius:0!important}
.modal-open .animate__animated{animation:none!important}
.modal-open .container,.modal-open .container-fluid,.modal-open body{overflow:visible!important}
.tooltip{z-index:3000!important}
.modal-backdrop{z-index:2050!important}
.modal{z-index:2060!important}
.gallery-card .gallery-img{display:block;width:100%;height:auto;object-fit:contain;background:#fff}
.media-meta i{width:1rem;text-align:center}
.gallery-grid .gallery-card:hover,.media-card:hover,.media-card.video-card:hover,.memory-card:hover,.timeline-card:hover{transform:translateY(-2px)}
/* PROFILE HERO */
.profile-hero{text-align:center}
.profile-avatar{width:130px;height:130px;object-fit:cover;border-radius:50%;border:4px solid #212529;box-shadow:0 0 0 4px #fff;margin-bottom:1rem}
.profile-avatar.placeholder{background:#dee2e6;color:#6c757d;display:inline-flex;align-items:center;justify-content:center;font-size:2rem}
.profile-name{font-weight:800;font-size:2rem;margin-bottom:.25rem}
.profile-dates{font-size:.95rem;color:#6c757d;margin-bottom:.5rem}
.profile-bio{max-width:700px;margin:0 auto;font-size:1.05rem;color:#444}
/* OWNER TOOLS */
.owner-tools{text-align:center;margin-bottom:1.5rem}
.owner-tools .btn{font-size:.8rem;padding:4px 10px;border-radius:20px;margin:0 auto}
/* SHARE TOOLBAR */
.share-block{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.share-block .btn{font-size:0}
.share-block .btn:not(.copy-link){width:44px;height:44px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:2px solid #000;background:#fff;line-height:0}
.share-block .btn:not(.copy-link) i{font-size:18px;line-height:1}
.share-block .btn:not(.copy-link):hover,.share-block .btn:not(.copy-link):focus{background:#000;color:#fff;border-color:#000}
.share-block .copy-link{height:44px;padding:0 14px;border-radius:999px!important;display:inline-flex;align-items:center;gap:8px;border:2px solid #000!important;background:#fff;font-size:14px;line-height:1;color:#000}
.share-block .copy-link:hover,.share-block .copy-link:focus{background:#000!important;color:#fff!important}
.share-block .btn span,.share-block .btn b,.share-block .btn small{display:none}
.share-block i{margin:0 .5rem!important}
/* PROFILE TABS */
.fuq-tabs{justify-content:center;flex-wrap:wrap;margin-bottom:1rem}
.fuq-tabs .nav-link{color:#495057;border:none;border-radius:0!important;display:flex;align-items:center;gap:.4rem;padding:10px 14px;transition:background-color .15s,color .15s;font-weight:500}
.fuq-tabs .nav-link:hover{background:#f1f1f1;color:#000}
.fuq-tabs .nav-link.active{background:#000;color:#fff}
/* TAB CONTENT SAFETY */
.tab-content>.tab-pane{padding-top:1rem}
.tab-pane img, .tab-pane video {
    max-width: 768px;
    height: auto;
    width: 100% !important;
    text-align: center;
    display: block;
    margin: 0 auto;
}
/* RESPONSIVE TWEAKS */
@media (max-width:576px){.profile-name{font-size:1.6rem}.profile-avatar{width:100px;height:100px}.media-card-body{padding:.875rem}.memory-masonry{column-gap:.75rem}.memory-item{margin-bottom:.75rem}}
/* REDUCED MOTION */
@media (prefers-reduced-motion:reduce){.media-card,.timeline-card,.memory-card,.audio-card,.dash-tile,.nav-tabs .nav-link{transition:none!important}}
/* CONTAINER WIDTH */
.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1480px!important}
.card-body {border-radius:0px;}

li.list-group-item.mb-4 {
    padding: 40px;
}

/* ------------------------------------------------------------------
   WP-aligned theme overrides (Forever Unforgettable QR)
------------------------------------------------------------------- */
html, body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  color: #333333 !important;
  background: #f3f3f3 !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.dash-title, .media-title, .profile-name, .table thead th {
  font-family: "Playfair Display", serif !important;
  font-weight: 600 !important;
  color: #000 !important;
}

.text-muted, .form-text, .small, p, li {
  color: #333333 !important;
}

.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  max-width: 1240px !important;
}

.bg-light {
  background: #f3f3f3 !important;
}

.card,
.modal-content,
.list-group-item,
.table,
.alert {
  border-radius: 0 !important;
  border-color: #d9d9d9 !important;
}

.card {
  box-shadow: 0 8px 24px rgba(0, 0, 0, .05) !important;
}

.btn,
.btn-dark,
.btn-outline-dark,
.btn-outline-secondary,
.btn-primary,
.btn-secondary {
  border-radius: 0 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 600 !important;
}

.btn-dark,
.btn-primary {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

.btn-dark:hover,
.btn-dark:focus,
.btn-primary:hover,
.btn-primary:focus {
  background: #333333 !important;
  border-color: #333333 !important;
  color: #fff !important;
}

.btn-outline-dark,
.btn-outline-secondary {
  color: #000 !important;
  border-color: #000 !important;
  background: #fff !important;
}

.btn-outline-dark:hover,
.btn-outline-dark:focus,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
  color: #fff !important;
  background: #000 !important;
}

.fuq-tabs .nav-link {
  border-radius: 0 !important;
  border: 1px solid transparent !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 500 !important;
}

.fuq-tabs .nav-link.active {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

.fuq-tabs .nav-link:hover {
  background: #ececec !important;
  color: #000 !important;
}

.profile-hero,
.profile-tabs,
main.container,
.dash-grid .dash-tile,
.media-card,
.timeline-card,
.memory-card {
  animation: none !important;
}

.profile-hero .card,
.share-block.card,
.nok-card {
  background: #fff !important;
}

.dash-tile {
  border: 1px solid #dcdcdc !important;
}

.dash-tile:hover {
  border-color: #000 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .08) !important;
}
