/* Template colors are scoped to profiles and chooser cards, never the shared shell. */
.theme-tulip-garden { --tp-paper:#f8f2e8; --tp-card:#fffdf8; --tp-ink:#343c31; --tp-accent:#8d4c55; --tp-soft:#e7ebdd; --tp-quilt:url('../images/quilt-garden.svg'); --tp-quilt-size:160px 80px; }
.theme-lilac-summer { --tp-paper:#f2edf5; --tp-card:#fffdf9; --tp-ink:#42364c; --tp-accent:#69517d; --tp-soft:#dfd6e8; --tp-quilt:url('../images/templates/lilac-quilt.svg'); --tp-quilt-size:64px 64px; }
.theme-sunflower-sunshine { --tp-paper:#fbf3d9; --tp-card:#fffdf5; --tp-ink:#454729; --tp-accent:#73531b; --tp-soft:#eed897; --tp-quilt:url('../images/templates/sunflower-quilt.svg'); --tp-quilt-size:160px 80px; }
.theme-rosewood-cottage { --tp-paper:#f5e9df; --tp-card:#fffaf4; --tp-ink:#503a35; --tp-accent:#8b4b47; --tp-soft:#e5c7ba; --tp-quilt:url('../images/templates/rose-quilt.svg'); --tp-quilt-size:72px 72px; }
.theme-fern-thread { --tp-paper:#edf0e6; --tp-card:#fcfcf5; --tp-ink:#294b40; --tp-accent:#345f51; --tp-soft:#cfddd0; --tp-quilt:url('../images/templates/fern-quilt.svg'); --tp-quilt-size:48px 48px; }
.profile-frame { container-type:inline-size; margin-top:1.5rem; }
.crafted-profile { color:var(--tp-ink); background:var(--tp-paper); padding:clamp(16px,3cqi,40px); border-radius:8px; }
.crafted-profile .eyebrow,.crafted-profile .craft-number { color:var(--tp-ink); }
.crafted-profile .button { background:var(--tp-accent); border-color:var(--tp-accent); color:#fff; }
.crafted-profile .button:hover { filter:brightness(.9); }
.crafted-profile :focus-visible { outline:3px solid var(--tp-ink); outline-offset:4px; }
.crafted-story { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:30px; align-items:center; padding:20px 10px 100px; position:relative; }
.crafted-story::after { content:""; position:absolute; inset:auto 0 0; height:80px; background:var(--tp-quilt) repeat-x center / var(--tp-quilt-size); }
.crafted-story h1 { font-size:clamp(2.2rem,6cqi,4.6rem); overflow-wrap:anywhere; }
.crafted-bio { font:1.1rem/1.75 var(--serif); overflow-wrap:anywhere; max-width:65ch; }
.botanical-mark { width:100%; max-width:220px; height:240px; object-fit:contain; justify-self:center; mix-blend-mode:multiply; }
.crafted-divider { text-align:center; font:.75rem/1.6 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; padding:30px 10px 20px; }
.crafted-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.crafted-card { color:var(--tp-ink); background:var(--tp-card); border-color:var(--tp-soft); }
.crafted-card .gallery-card-image { background:var(--tp-soft); min-height:140px; }
.crafted-card .gallery-card-image img { height:260px; object-fit:contain; }
.crafted-card h3 { overflow-wrap:anywhere; margin:10px 0; }
.crafted-caption { min-width:0; }
.crafted-card h3 a { text-decoration:none; }
.crafted-card h3 a:hover { text-decoration:underline; }
.spotlight-label { font:.7rem/1.5 Arial,sans-serif; text-transform:uppercase; letter-spacing:.1em; color:var(--tp-accent); }
.creation-excerpt { display:none; font:1rem/1.7 var(--serif); overflow-wrap:anywhere; }
.crafted-empty { padding:30px; background:var(--tp-card); border:1px dashed var(--tp-accent); }
.theme-lilac-summer.crafted-profile { display:grid; grid-template-columns:minmax(210px,1fr) minmax(0,2.4fr); gap:32px; }
.theme-lilac-summer .crafted-story { display:flex; flex-direction:column; align-self:start; align-items:stretch; padding:15px 0 90px; }
.theme-lilac-summer .crafted-story h1 { font-size:2.6rem; }
.theme-lilac-summer .crafted-story::after { height:64px; }
.theme-lilac-summer .crafted-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.theme-lilac-summer .crafted-divider { padding-top:15px; }
.theme-sunflower-sunshine .crafted-story { text-align:center; grid-template-columns:1fr; }
.theme-sunflower-sunshine .crafted-story > div { max-width:760px; margin:auto; }
.theme-sunflower-sunshine .botanical-mark { height:130px; }
.theme-sunflower-sunshine .spotlight-card { grid-column:1/-1; display:grid; grid-template-columns:1.5fr 1fr; align-items:center; }
.theme-sunflower-sunshine .spotlight-card .gallery-card-image img { height:400px; }
.theme-sunflower-sunshine .spotlight-card .creation-excerpt { display:block; }
.theme-rosewood-cottage .crafted-grid { grid-template-columns:1fr; gap:32px; }
.theme-rosewood-cottage .crafted-card { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; }
.theme-rosewood-cottage .crafted-card:nth-child(even) .gallery-card-image { order:2; }
.theme-rosewood-cottage .crafted-caption { padding:32px; }
.theme-rosewood-cottage .crafted-card .gallery-card-image img { height:340px; }
.theme-rosewood-cottage .creation-excerpt { display:block; }
.theme-rosewood-cottage .crafted-story::after { height:72px; }
.theme-fern-thread .crafted-story { padding:10px 0 65px; grid-template-columns:minmax(0,1fr) 100px; }
.theme-fern-thread .crafted-story h1 { font-size:clamp(2rem,4cqi,3.3rem); }
.theme-fern-thread .botanical-mark { height:150px; }
.theme-fern-thread .crafted-story::after { height:48px; }
.theme-fern-thread .crafted-card { box-shadow:none; border-radius:2px; }
@container (max-width:850px) {
 .crafted-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .theme-lilac-summer.crafted-profile { display:block; }
 .theme-lilac-summer .crafted-story { display:grid; grid-template-columns:minmax(0,1fr) 130px; }
}
@container (max-width:520px) {
 .crafted-story,.theme-lilac-summer .crafted-story,.theme-fern-thread .crafted-story { display:flex; flex-direction:column; gap:16px; }
 .crafted-story h1,.theme-lilac-summer .crafted-story h1 { font-size:2.4rem; }
 .botanical-mark { height:120px; }
 .crafted-grid,.theme-lilac-summer .crafted-grid { grid-template-columns:1fr; gap:18px; }
 .theme-sunflower-sunshine .spotlight-card,.theme-rosewood-cottage .crafted-card { display:block; }
 .theme-sunflower-sunshine .spotlight-card .gallery-card-image img,.theme-rosewood-cottage .crafted-card .gallery-card-image img { height:260px; }
 .theme-rosewood-cottage .crafted-caption { padding:22px; }
}
.appearance-studio { margin:2rem 0 4rem; }
.appearance-studio>.intro { max-width:700px; }
.appearance-options fieldset { border:0; padding:0; margin:1rem 0; min-width:0; }
.appearance-options legend { font:1.3rem var(--serif); margin-bottom:16px; }
.template-choices { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; }
.template-choice { background:var(--tp-paper); color:var(--tp-ink); padding:16px; border:2px solid var(--tp-soft); border-radius:8px; display:grid; grid-template-columns:24px 1fr; gap:10px; cursor:pointer; }
.template-choice:has(input:checked) { border-color:var(--tp-accent); box-shadow:0 0 0 2px var(--tp-accent); }
.template-choice input { width:20px; height:20px; margin:0; accent-color:var(--tp-accent); }
.template-choice>strong,.template-choice>span:not(.template-mini) { grid-column:1/-1; }
.template-choice>strong { font:1.25rem var(--serif); }
.template-choice>span:not(.template-mini) { font-size:.85rem; }
.template-mini { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; height:92px; background:var(--tp-card); padding:8px; border-bottom:8px solid var(--tp-accent); }
.template-mini span { grid-column:1/-1; background:var(--tp-soft); height:25px; }
.template-mini i { background:var(--tp-accent); opacity:.65; }
.theme-lilac-summer .template-mini { grid-template-columns:1fr 1fr 1fr; }
.theme-lilac-summer .template-mini span { grid-column:1; grid-row:1/3; height:auto; }
.theme-sunflower-sunshine .template-mini i:first-of-type { grid-column:1/3; }
.theme-rosewood-cottage .template-mini { grid-template-columns:1fr 1fr; }
.theme-rosewood-cottage .template-mini i:last-child { grid-column:1/-1; }
.theme-fern-thread .template-mini span { height:12px; }
.appearance-controls { display:flex; gap:30px; align-items:start; flex-wrap:wrap; margin:24px 0; }
.appearance-controls>div { flex:1; min-width:220px; }
.appearance-controls select { max-width:100%; width:100%; }
.appearance-controls label { display:block; }
.appearance-controls p { font-size:.85rem; max-width:650px; }
.appearance-controls input[type=radio] { width:18px; height:18px; }
.preview-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; border-top:1px solid #bfc6b5; margin-top:35px; padding-top:25px; }
.preview-heading h2 { margin:0; }
.appearance-preview { border:1px solid #b7bbae; padding:8px; border-radius:12px; margin:24px auto; max-width:100%; }
.preview-mobile { width:390px; }
.preview-desktop { width:1200px; }
.appearance-preview .profile-frame { margin:0; }
@media(max-width:500px) { .template-choices { grid-template-columns:1fr; } .appearance-controls>div { min-width:0; width:100%; } }
