/* Tribute Studio — remembrance builder */

.tribute-shell{padding:48px 0 100px;position:relative;z-index:2;}
.tribute-hero{text-align:center;margin-bottom:40px;}
.tribute-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,5vw,3rem);color:var(--slate);line-height:1.12;margin:12px 0 14px;}
.tribute-hero .lede{font-size:clamp(1rem,2.2vw,1.15rem);color:var(--ash);max-width:56ch;margin:0 auto;line-height:1.65;}

/* Value strip — bento hero */
.value-strip{padding:0 0 56px;position:relative;z-index:2;}
.value-kicker{text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:24px;}
.value-sub{text-align:center;font-size:14px;color:var(--ash);max-width:52ch;margin:-12px auto 28px;line-height:1.6;}
.bento-hero{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;max-width:1100px;margin:0 auto;}
.bento-hero .asset-card{grid-column:span 3;display:flex;flex-direction:column;gap:6px;padding:18px 16px;border-radius:16px;border:1px solid var(--line);background:var(--bone-card);transition:border-color .25s,transform .25s,box-shadow .25s;}
.bento-hero .asset-card:hover{border-color:rgba(227,178,106,.35);transform:translateY(-2px);box-shadow:0 12px 32px -16px rgba(8,12,20,.6);}
.bento-hero .asset-card.featured{grid-column:span 6;padding:22px 20px;background:linear-gradient(145deg,rgba(227,178,106,.08),var(--bone-card));}
.bento-hero .asset-card.wide{grid-column:span 4;}
.bento-hero .asset-card.tall{grid-row:span 2;justify-content:center;}
.bento-hero .asset-card .asset-icon{font-size:10px;color:var(--amber);opacity:.8;letter-spacing:.08em;}
.bento-hero .asset-card strong{font-size:13px;color:var(--slate);line-height:1.3;}
.bento-hero .asset-card.featured strong{font-size:15px;}
.bento-hero .asset-card span{font-size:12px;color:var(--fog);line-height:1.45;}
.bento-hero .asset-card .asset-tag{display:inline-block;margin-top:auto;padding:3px 8px;border-radius:999px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);background:rgba(227,178,106,.1);border:1px solid rgba(227,178,106,.2);width:fit-content;}
@media(max-width:900px){
  .bento-hero{grid-template-columns:repeat(6,1fr);}
  .bento-hero .asset-card{grid-column:span 3;}
  .bento-hero .asset-card.featured,.bento-hero .asset-card.wide{grid-column:span 6;}
  .bento-hero .asset-card.tall{grid-row:span 1;}
}
@media(max-width:520px){
  .bento-hero{grid-template-columns:1fr 1fr;}
  .bento-hero .asset-card,.bento-hero .asset-card.featured,.bento-hero .asset-card.wide{grid-column:span 1;}
}

.studio-steps{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:28px 0 36px;}
.studio-step{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fog);background:var(--bone-card);}
.studio-step.active{border-color:rgba(227,178,106,.45);color:var(--amber);background:rgba(227,178,106,.08);}
.studio-step.done{color:var(--stone);}
.studio-step .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7;}
.studio-panel{display:none;animation:studioIn .5s ease both;}
.studio-panel.active{display:block;}
@keyframes studioIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.studio-card{background:var(--bone-card);border:1px solid var(--line);border-radius:18px;padding:24px 22px;margin-bottom:16px;}
.studio-card h2{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--slate);margin-bottom:6px;}
.studio-card .hint{font-size:13px;color:var(--ash);line-height:1.55;margin-bottom:18px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);font-weight:500;margin-bottom:6px;}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bone-deep);color:var(--slate);font-family:var(--body);font-size:15px;outline:none;}
.field textarea{min-height:100px;resize:vertical;line-height:1.6;}
.field textarea.tall{min-height:180px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:520px){.field-row{grid-template-columns:1fr}}

.chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.chip{padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ash);font-size:13px;cursor:pointer;transition:border-color .2s,background .2s;}
.chip.on{border-color:rgba(227,178,106,.45);background:rgba(227,178,106,.1);color:var(--amber);}
.theme-chips .chip[data-theme="candle"].on{border-color:rgba(212,165,116,.5);background:rgba(212,165,116,.12);color:#d4a574;}
.theme-chips .chip[data-theme="garden"].on{border-color:rgba(143,184,154,.5);background:rgba(143,184,154,.12);color:#8fb89a;}
.theme-chips .chip[data-theme="shore"].on{border-color:rgba(124,153,166,.5);background:rgba(124,153,166,.12);color:#7c99a6;}
.theme-chips .chip[data-theme="grove"].on{border-color:rgba(168,184,122,.5);background:rgba(168,184,122,.12);color:#a8b87a;}
.theme-chips .chip[data-theme="midnight"].on{border-color:rgba(158,180,212,.5);background:rgba(158,180,212,.12);color:#9eb4d4;}

.photo-drop{border:1.5px dashed rgba(227,178,106,.35);border-radius:16px;padding:28px 20px;text-align:center;cursor:pointer;background:rgba(227,178,106,.03);transition:border-color .2s,background .2s;}
.photo-drop.dragover{border-color:var(--amber);background:rgba(227,178,106,.08);}
.photo-drop p{font-size:14px;color:var(--stone);margin:0;}
.photo-drop .sub{font-size:12px;color:var(--fog);margin-top:6px;}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;margin-top:16px;}
.photo-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid var(--line);}
.photo-thumb img{width:100%;height:100%;object-fit:cover;}
.photo-thumb button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:rgba(12,15,20,.75);color:var(--slate);cursor:pointer;}

.run-stages{display:flex;flex-direction:column;gap:8px;margin:20px 0;}
.run-stage{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);font-size:13px;color:var(--fog);}
.run-stage.running{border-color:rgba(227,178,106,.4);color:var(--slate);background:rgba(227,178,106,.06);}
.run-stage.done{color:var(--stone);}
.run-bar{height:3px;background:var(--line);border-radius:2px;overflow:hidden;margin-top:8px;}
.run-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--amber),var(--amber-lit));transition:width .4s ease;}

.content-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px;}
.content-tabs .tab{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--fog);font-size:12px;cursor:pointer;}
.content-tabs .tab.on{border-color:rgba(227,178,106,.4);color:var(--amber);background:rgba(227,178,106,.08);}
.tab-panel{display:none;}
.tab-panel.on{display:block;}

/* Memoriam preview + themes */
.memoriam-preview{text-align:center;margin:0 auto;max-width:760px;}
.memoriam-preview .eyebrow{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--amber);}
.memoriam-preview h2{font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.4rem);color:var(--slate);margin:14px 0 8px;}
.memoriam-preview .dates{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fog);margin-bottom:14px;}
.memoriam-preview .intro{font-size:1.05rem;color:var(--stone);line-height:1.7;max-width:52ch;margin:0 auto;font-style:italic;}
.quote-block{margin:24px auto 0;max-width:48ch;font-size:1rem;font-style:italic;color:var(--amber-soft);line-height:1.6;border:none;padding:0;}
.quote-block:empty{display:none;}

.memoriam-preview[data-theme="candle"] .eyebrow,.memoriam-preview[data-theme="candle"] .quote-block{color:#d4a574;}
.memoriam-preview[data-theme="garden"] .eyebrow,.memoriam-preview[data-theme="garden"] .quote-block{color:#8fb89a;}
.memoriam-preview[data-theme="shore"] .eyebrow,.memoriam-preview[data-theme="shore"] .quote-block{color:#7c99a6;}
.memoriam-preview[data-theme="grove"] .eyebrow,.memoriam-preview[data-theme="grove"] .quote-block{color:#a8b87a;}
.memoriam-preview[data-theme="midnight"] .eyebrow,.memoriam-preview[data-theme="midnight"] .quote-block{color:#9eb4d4;}

.tv-window{margin:36px auto 0;padding:16px;border-radius:18px;background:linear-gradient(180deg,#2b3a3f,#1c262b);border:1px solid rgba(227,178,106,.28);box-shadow:0 40px 80px -36px rgba(8,12,20,.85),0 0 70px -10px rgba(227,178,106,.15);position:relative;}
.tv-window::before{content:"";position:absolute;left:50%;top:-8px;width:54%;height:16px;transform:translateX(-50%);border-radius:0 0 14px 14px;background:linear-gradient(180deg,rgba(227,178,106,.35),transparent);filter:blur(3px);}
.tv-screen{position:relative;width:100%;padding-bottom:56.25%;border-radius:10px;overflow:hidden;background:#0c111a;}
.tv-screen::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);opacity:.4;}
.tv-screen iframe,.tv-screen .slideshow{position:absolute;inset:0;width:100%;height:100%;border:0;}
.tv-sill{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-soft);}
.tv-sill .flame-dot{width:5px;height:5px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px 1px rgba(227,178,106,.6);animation:flamePulse 3s ease-in-out infinite;}
@keyframes flamePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}
.slideshow-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;background-size:cover;background-position:center;}
.slideshow-slide.active{opacity:1;}
.slide-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 14px;background:linear-gradient(transparent,rgba(8,12,20,.85));font-size:13px;color:#ece4d6;font-style:italic;text-align:center;}

.timeline-block{margin-top:32px;text-align:left;max-width:420px;margin-left:auto;margin-right:auto;}
.timeline-block:empty{display:none;}
.timeline-block h3{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:14px;text-align:center;}
.timeline-item{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);}
.timeline-item:last-child{border-bottom:none;}
.timeline-year{flex-shrink:0;width:56px;font-size:13px;font-weight:500;color:var(--amber);}
.timeline-event{flex:1;font-size:14px;color:var(--stone);line-height:1.5;}

.art-frame{margin-top:24px;text-align:center;}
.art-frame img{max-width:280px;width:100%;border-radius:12px;box-shadow:0 20px 50px -20px rgba(8,12,20,.6);}
.art-pending{font-size:13px;color:var(--fog);font-style:italic;}

.studio-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.btn-primary{font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:13px 24px;border-radius:999px;border:none;cursor:pointer;background:var(--slate);color:var(--bone-deep);}
.btn-primary:disabled{opacity:.45;cursor:not-allowed;}
.btn-secondary{font-size:13px;padding:12px 20px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--stone);cursor:pointer;}
.mode-toggle{display:flex;gap:8px;margin-bottom:16px;}
.mode-toggle button{flex:1;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--ash);font-size:13px;cursor:pointer;}
.mode-toggle button.on{border-color:rgba(227,178,106,.45);background:rgba(227,178,106,.1);color:var(--amber);}

.export-actions-top{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line);}
.export-actions-top .btn-primary{flex:1;min-width:180px;}
.export-hub{margin-top:8px;}
.export-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:4px;border-radius:999px;background:var(--bone-deep);border:1px solid var(--line);width:fit-content;max-width:100%;}
.export-nav button{padding:9px 16px;border-radius:999px;border:none;background:transparent;color:var(--fog);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s;}
.export-nav button.on{background:rgba(227,178,106,.14);color:var(--amber);}
.export-panel{display:none;animation:studioIn .4s ease both;}
.export-panel.on{display:block;}
.export-category{margin-bottom:32px;}
.export-category-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;}
.export-category-head h3{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin:0;}
.export-category-head span{font-size:12px;color:var(--fog);}
.export-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;}
.export-card{grid-column:span 4;display:flex;flex-direction:column;gap:8px;padding:18px 16px;border-radius:16px;border:1px solid var(--line);background:var(--bone-deep);transition:border-color .2s,transform .2s;}
.export-card:hover{border-color:rgba(227,178,106,.3);transform:translateY(-1px);}
.export-card.span-6{grid-column:span 6;}
.export-card.span-8{grid-column:span 8;}
.export-card.span-12{grid-column:span 12;}
.export-card.featured{background:linear-gradient(160deg,rgba(227,178,106,.07),var(--bone-deep));border-color:rgba(227,178,106,.22);}
.export-card .export-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.export-card .export-badge{font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:999px;color:var(--amber);background:rgba(227,178,106,.1);border:1px solid rgba(227,178,106,.18);}
.export-card .export-icon{font-size:11px;color:var(--amber);opacity:.65;}
.export-card strong{font-size:14px;color:var(--slate);line-height:1.35;}
.export-card p{font-size:12px;color:var(--fog);line-height:1.5;margin:0;flex:1;}
.export-card .btn-secondary{align-self:flex-start;margin-top:4px;font-size:11px;padding:9px 16px;}
.export-card .btn-secondary:disabled{opacity:.4;}
@media(max-width:900px){
  .export-bento{grid-template-columns:repeat(6,1fr);}
  .export-card{grid-column:span 3;}
  .export-card.span-6,.export-card.span-8{grid-column:span 6;}
  .export-card.span-12{grid-column:span 6;}
}
@media(max-width:520px){
  .export-bento{grid-template-columns:1fr;}
  .export-card,.export-card.span-6,.export-card.span-8,.export-card.span-12{grid-column:span 1;}
  .export-nav{border-radius:16px;width:100%;}
}
.publish-url{margin-top:14px;padding:14px 16px;border-radius:12px;background:rgba(227,178,106,.08);border:1px solid rgba(227,178,106,.3);font-size:13px;word-break:break-all;}
.publish-url a{color:var(--amber);}
.privacy-note{font-size:12px;color:var(--fog);line-height:1.6;margin-top:16px;font-style:italic;}
.caption-edit .cap-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;}
.caption-edit .cap-row img{width:48px;height:48px;object-fit:cover;border-radius:8px;}
.caption-edit .cap-row input{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bone-deep);color:var(--slate);font-size:13px;}

/* Published view extras */
.memoriam-view .eulogy-block{margin-top:40px;text-align:left;max-width:640px;margin-left:auto;margin-right:auto;}
.memoriam-view .eulogy-block h3{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:12px;text-align:center;}
.memoriam-view .eulogy-block p{font-size:15px;color:var(--stone);line-height:1.75;margin-bottom:14px;}
