.xg-page{max-width:1120px}.xg-h1{max-width:none;font-size:clamp(1.45rem,3.2vw,2.2rem);line-height:1.25;margin:0 0 10px}.xg-intro{max-width:72ch;margin:20px 0 0;line-height:1.65;color:#3a4034}.xg-occasions{margin-top:28px}.xg-occasions ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.xg-pill,.xg-chip{box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:6px 14px;border:1px solid #c9cfc2;border-radius:999px;background:#fff;color:#23281f;font:inherit;font-weight:700;line-height:1.25;text-decoration:none}.xg-chip{font-weight:600;cursor:pointer}.xg-pill[aria-current=page],.xg-chip[aria-pressed=true]{border:3px solid #1d4d38;padding:4px 12px}.xg-check{display:none;color:#1d4d38}.xg-pill[aria-current=page] .xg-check,.xg-chip[aria-pressed=true] .xg-check{display:inline}.xg-count{font-weight:400;color:#4b5146}.xg-filters{display:grid;gap:10px;margin:0 0 14px}.xg-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.xg-filter-label{min-width:5.5em;font-weight:700}.xg-result{font-weight:700;line-height:1.5}.xg-empty{display:flex;flex-wrap:wrap;align-items:center;gap:10px;line-height:1.5}.xg-empty[hidden]{display:none}.xg-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}@media(min-width:768px){.xg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.xg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.xg-card{display:flex;flex-direction:column;min-width:0;border:1px solid #d9ccb0;border-radius:14px;background:#fbf8f1;color:#23281f;overflow:hidden}.xg-card[hidden]{display:none}.xg-img{display:block;width:100%;height:auto;aspect-ratio:3/4;background:#efe7d6}.xg-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:12px 14px 14px}.xg-text{font-size:1.05rem;font-weight:600;line-height:1.5}.xg-tags{display:flex;flex-wrap:wrap;gap:6px}.xg-tag{padding:2px 10px;border:1px solid #e3d9c2;border-radius:999px;background:#fff;font-size:.86rem;line-height:1.5;color:#3a4034}.xg-tag--year{border-color:#8f1d1d;color:#8f1d1d;font-weight:600}.xg-actions{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}.xg-btn{box-sizing:border-box;min-height:48px;padding:8px 10px;border:1px solid #1d4d38;border-radius:10px;background:#fff;color:#1d4d38;font:inherit;font-weight:700;line-height:1.25;cursor:pointer}.xg-btn--share{grid-column:1/-1;border-width:2px}.xg-pill:focus-visible,.xg-chip:focus-visible,.xg-btn:focus-visible,.xg-cta:focus-visible{outline:3px solid #b3541e;outline-offset:2px}.xg-alert{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:2;box-sizing:border-box;padding:8px 12px;border-radius:10px;background:#23281f;color:#fff;font-size:.95rem;font-weight:600;line-height:1.4;box-shadow:0 2px 10px #23281f40}.xg-alert[hidden]{display:none}.xg-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.xg-page:has(.xg-noscript) .xg-filters,.xg-page:has(.xg-noscript) .xg-actions{display:none}.xg-section{margin-top:36px}.xg-section h2{font-size:1.4rem;line-height:1.3;margin:0 0 10px}.xg-section p{line-height:1.7;margin:8px 0}.xg-howto{display:grid;gap:8px 28px}@media(min-width:768px){.xg-howto{grid-template-columns:repeat(2,minmax(0,1fr))}}.xg-howto h3{font-size:1.1rem;margin:8px 0 6px}.xg-howto ol{margin:0;padding-left:1.3em;line-height:1.7}.xg-faq h3{font-size:1.05rem;line-height:1.5;margin:20px 0 6px}.xg-faq p{line-height:1.8;margin:0}.xg-ai{margin-top:32px;font-size:.92rem;line-height:1.6;color:#4b5146}.xg-cta{box-sizing:border-box;display:inline-flex;align-items:center;min-height:48px;margin-top:16px;padding:10px 18px;border-radius:10px;background:#1d4d38;color:#fff;font-weight:700;text-decoration:none}.xg-byline{margin-top:24px;font-size:.92rem;line-height:1.6;color:#4b5146}@media(max-width:700px){.xg-h1{font-size:1.4rem}.xg-pill,.xg-chip{padding:6px 12px}.xg-pill[aria-current=page],.xg-chip[aria-pressed=true]{padding:4px 10px}.xg-filter-label{min-width:100%}}
