/* Package 4: Smart Import, Users & Public Design */
.admin-account-actions { display:flex; align-items:center; gap:.7rem; }
.admin-user { display:grid; gap:.1rem; text-decoration:none; line-height:1.15; }
.admin-user strong { font-size:.8rem; }
.admin-user small { color:var(--muted); font-size:.62rem; font-weight:600; }
.admin-logout-button { min-height:40px; padding:.55rem .85rem; }
.inline-form { display:inline; }
.text-link { appearance:none; border:0; background:none; padding:0; color:var(--gold-dark); font:inherit; font-weight:800; cursor:pointer; }
.page-action-buttons, .welcome-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.welcome-panel { display:flex; align-items:center; justify-content:space-between; gap:1rem; background:linear-gradient(135deg,#fffaf1,#efe2cb); }
.welcome-panel p { margin-bottom:0; }
.role-guide { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; padding:1rem; background:#faf5ec; border:1px solid var(--line); }
.role-guide h3 { grid-column:1/-1; margin-bottom:.2rem; font-size:1.25rem; }
.role-guide div { display:grid; gap:.2rem; padding:.75rem; background:white; border:1px solid #eadfce; }
.role-guide span { color:var(--muted); font-size:.8rem; line-height:1.5; }
.access-denied { max-width:680px; }
.import-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.import-choice-card { min-height:220px; display:flex; flex-direction:column; align-items:flex-start; }
.import-choice-card .button { margin-top:auto; }
.import-source-panel { max-width:1050px; }
.import-notice { display:grid; gap:.25rem; padding:1rem; border-left:4px solid var(--gold); background:#f8f1e5; color:var(--muted); }
.import-notice strong { color:var(--olive); }
.import-preview-panel { max-width:none; }
.import-preview-form { margin-top:1.2rem; }
.import-preview-form .editor-section { padding:1.2rem; background:#fff; border:1px solid var(--line); margin-bottom:1rem; }
.import-source-summary { display:grid; gap:.45rem; }
.import-source-summary strong { font:500 1.35rem Georgia,serif; color:var(--olive); }
.import-source-summary span { color:var(--muted); font-size:.84rem; }
.import-source-summary a { color:var(--gold-dark); font-weight:800; }
.dashboard-media-compact { margin-top:1.5rem; }

/* Public navigation */
.site-header { box-shadow:0 7px 28px rgba(41,40,32,.07); }
.site-nav { gap:clamp(.55rem,1.3vw,1.25rem); }
.site-nav .nav-account { padding:.55rem .75rem; border:1px solid var(--line); border-radius:999px; }
.site-nav .nav-logout { color:#fff; padding:.57rem .78rem; border-radius:999px; background:var(--olive); }

/* Signature homepage */
.signature-hero { position:relative; min-height:720px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.65fr); align-items:center; gap:4rem; overflow:hidden; padding:clamp(4rem,8vw,8rem) clamp(1.4rem,7vw,7rem); color:#fffaf0; background:#28372d; }
.signature-hero-background, .signature-hero-overlay { position:absolute; inset:0; }
.signature-hero-background img { width:100%; height:100%; object-fit:cover; }
.signature-hero-overlay { background:linear-gradient(90deg,rgba(31,44,35,.95) 0%,rgba(31,44,35,.8) 42%,rgba(31,44,35,.26) 78%,rgba(31,44,35,.1) 100%),linear-gradient(0deg,rgba(26,37,30,.45),transparent 48%); }
.signature-hero-copy { position:relative; z-index:2; max-width:760px; }
.signature-hero-copy .eyebrow { color:#e0bd7c; }
.signature-hero-copy h1 { font-size:clamp(4rem,8vw,7rem); letter-spacing:-.045em; text-shadow:0 4px 20px rgba(0,0,0,.23); }
.signature-hero-copy p { max-width:660px; color:rgba(255,250,240,.86); font-size:1.08rem; }
.couple-polaroid { position:relative; z-index:3; justify-self:center; width:min(390px,100%); margin:0; padding:13px 13px 48px; transform:rotate(3deg); background:#fffdf6; box-shadow:0 28px 65px rgba(0,0,0,.32); }
.couple-polaroid::before { content:""; position:absolute; width:110px; height:28px; top:-13px; left:50%; transform:translateX(-50%) rotate(-3deg); background:rgba(229,208,167,.82); box-shadow:0 2px 4px rgba(0,0,0,.09); }
.couple-polaroid img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center; display:block; }
.couple-polaroid figcaption { position:absolute; left:0; right:0; bottom:13px; color:#4c473e; text-align:center; font:italic 1.3rem Georgia,serif; }
.elevated-section { position:relative; margin-top:-42px; padding-inline:clamp(1.2rem,4vw,3rem); background:#fffdf9; box-shadow:0 -16px 45px rgba(34,35,29,.12); }
.centered-heading { max-width:780px; margin-inline:auto; text-align:center; }
.centered-heading > p:last-child { color:var(--muted); }
.graphic-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.graphic-category-card { display:grid; grid-template-rows:190px 1fr; overflow:hidden; color:inherit; text-decoration:none; background:#fff; border:1px solid #e7dccb; box-shadow:0 15px 35px rgba(55,45,31,.08); transition:transform .25s ease,box-shadow .25s ease; }
.graphic-category-card:hover { transform:translateY(-5px); box-shadow:0 23px 48px rgba(55,45,31,.14); }
.graphic-category-image { overflow:hidden; }
.graphic-category-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.graphic-category-card:hover img { transform:scale(1.035); }
.graphic-category-card > div:last-child { padding:1.35rem; }
.graphic-category-card h3 { font-size:1.65rem; }
.graphic-category-card p { color:var(--muted); margin:.35rem 0 .85rem; }
.graphic-category-card small { color:var(--gold-dark); font-weight:800; }
.journey-feature { display:grid; grid-template-columns:.78fr 1.22fr; align-items:center; gap:clamp(2rem,6vw,6rem); padding:clamp(4rem,8vw,7rem) clamp(1.4rem,7vw,7rem); background:#f0e5d4; }
.journey-copy h2 { font-size:clamp(2.7rem,5vw,4.8rem); }
.journey-copy p { max-width:600px; color:#625f55; }
.journey-feature > img { width:100%; border-radius:22px; box-shadow:0 23px 55px rgba(65,51,35,.15); }
.featured-recipe-section { padding-top:clamp(4rem,7vw,7rem); }
.text-arrow { color:var(--gold-dark); font-weight:800; text-decoration:none; }
.text-arrow::after { content:"  →"; }
.signature-recipe-card { overflow:hidden; }
.recipe-card-french { margin-top:-.35rem; font:italic .95rem Georgia,serif; }
.decorative-empty { background-image:radial-gradient(circle at 20% 20%,rgba(196,152,80,.15),transparent 20%),radial-gradient(circle at 80% 75%,rgba(47,59,47,.12),transparent 20%); }
.our-story-section { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); align-items:center; gap:clamp(2.5rem,7vw,7rem); padding:clamp(4rem,8vw,8rem) clamp(1.4rem,8vw,8rem); color:#fff9ed; background:linear-gradient(135deg,#2f3b2f,#495747); }
.story-photo-wrap { position:relative; width:min(520px,100%); }
.story-photo-wrap img { width:100%; aspect-ratio:4/3; object-fit:cover; border:12px solid rgba(255,255,255,.94); box-shadow:0 25px 55px rgba(0,0,0,.28); transform:rotate(-2deg); }
.story-photo-wrap span { position:absolute; right:-18px; bottom:25px; padding:.65rem 1rem; color:#2f3b2f; background:#e4bf78; font:italic 1.1rem Georgia,serif; transform:rotate(3deg); }
.story-copy .eyebrow { color:#e2bd78; }
.story-copy h2 { font-size:clamp(3rem,6vw,5.6rem); }
.story-copy p { max-width:690px; color:rgba(255,249,237,.8); font-size:1.02rem; }
.enhanced-footer { border-top:1px solid rgba(255,255,255,.11); }
.recipe-source-card { display:grid; gap:.5rem; }
.recipe-source-card p,.recipe-source-card small { margin:0; color:var(--muted); }
.recipe-source-card a { margin-top:.45rem; }

@media (max-width:1150px) {
  .signature-hero { grid-template-columns:1fr 330px; gap:2rem; }
  .graphic-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .admin-account-actions { align-items:flex-end; flex-direction:column; }
  .signature-hero { min-height:760px; grid-template-columns:1fr; align-content:center; }
  .signature-hero-overlay { background:linear-gradient(90deg,rgba(31,44,35,.92),rgba(31,44,35,.62)),linear-gradient(0deg,rgba(26,37,30,.62),transparent); }
  .couple-polaroid { width:280px; justify-self:end; margin-top:-85px; }
  .journey-feature,.our-story-section { grid-template-columns:1fr; }
  .story-photo-wrap { margin-inline:auto; }
  .import-choice-grid { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  .welcome-panel { align-items:flex-start; flex-direction:column; }
  .role-guide,.graphic-category-grid { grid-template-columns:1fr; }
  .admin-account-actions .admin-user { display:none; }
  .admin-logout-button { min-height:38px; }
  .signature-hero { min-height:690px; padding-top:5rem; }
  .signature-hero-copy h1 { font-size:clamp(3.3rem,15vw,5.2rem); }
  .couple-polaroid { width:220px; margin-top:-55px; }
  .elevated-section { margin-top:0; }
  .journey-feature,.our-story-section { padding-inline:1.2rem; }
  .story-photo-wrap span { right:0; }
}
.catalog-hero { background-image:linear-gradient(90deg,rgba(39,54,43,.94),rgba(39,54,43,.62)),url('../img/site/hero-alsace-wasatch.svg'); background-size:cover; background-position:center 48%; }


/* Package 4 v1.1 profile and story enhancements */
.user-avatar { flex:0 0 auto; display:inline-grid; place-items:center; overflow:hidden; border-radius:50%; color:#fff; background:linear-gradient(135deg,var(--olive),#66725f); box-shadow:0 0 0 2px rgba(196,152,80,.28); font-weight:800; letter-spacing:.03em; }
.user-avatar img { width:100%; height:100%; display:block; object-fit:cover; }
.user-avatar > span { line-height:1; }
.admin-user { grid-template-columns:auto 1fr; align-items:center; gap:.55rem; }
.admin-user > span { display:grid; gap:.1rem; }
.profile-heading { display:flex; align-items:center; gap:1.2rem; margin-bottom:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid var(--line); }
.profile-heading h2 { margin-bottom:.15rem; }
.profile-avatar-preview { line-height:0; }
.profile-avatar { box-shadow:0 0 0 5px #f3e9da,0 12px 30px rgba(45,48,39,.15); }
.user-list-identity { display:flex; align-items:center; gap:.75rem; min-width:240px; }
.user-list-identity > span { display:grid; gap:.12rem; }
.user-list-identity small { color:var(--muted); }
@media (max-width:680px) {
  .profile-heading { align-items:flex-start; }
  .profile-avatar { width:82px !important; height:82px !important; }
}

/* Package 4 v1.3 settings and private recipe access */
.settings-card-form { max-width: 980px; }
.settings-card { max-width: none; margin-bottom: 1rem; }
.settings-card h2 { margin-bottom: 1.25rem; }
.settings-save-actions { max-width: 980px; padding: 0.25rem 0 1rem; }
.access-required { max-width: 760px; margin-inline: auto; text-align: center; }

/* Package 4 v1.4.0: user invitations */
.user-page-actions { display:flex; gap:12px; flex-wrap:wrap; }
.invitation-link-panel { border-left:4px solid #aa7b37; }
.invitation-link-panel label { display:block; max-width:980px; font-weight:700; }
.invitation-link-panel input { width:100%; margin-top:8px; }
.invitation-history-panel { margin-top:24px; }
.invitation-table .table-subline { display:block; margin-top:4px; color:#756b5f; }
.text-link-danger { color:#9c352b; }
.invitation-accept-card { max-width:620px; }
.invitation-accept-form select { width:100%; }
.invitation-expiry-note { margin:20px 0 0; color:#756b5f; font-size:.9rem; text-align:center; }
.invitation-form-panel .role-guide { margin-top:8px; }
@media (max-width:760px) {
  .invitation-table th:nth-child(4), .invitation-table td:nth-child(4),
  .invitation-table th:nth-child(5), .invitation-table td:nth-child(5) { display:none; }
}
.status-review { background:#fff0cf; color:#72501e; }
