/* Sito Lab event stationery storefront — reference-led styles */
:root {
  --event-yellow: #F7C743;
  --event-ivory: #FBF8F1;
  --event-ink: #101112;
  --event-lilac: #E5D3F0;
  --event-coral: #F78270;
  --event-border: #252525;
  --event-body: 'DM Sans', 'Inter', sans-serif;
  --event-heading: 'Outfit', 'DM Sans', sans-serif;
}
html, body { background: var(--event-ivory) !important; color: var(--event-ink); font-family: var(--event-body); }
body { overflow-x: clip; }
h1,h2,h3,h4 { color: var(--event-ink); font-family: var(--event-heading); font-weight: 800; letter-spacing: -.035em; line-height: 1.02; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #7C4D9B; outline-offset: 3px; }
#main-header.event-site-header { position: fixed; inset: 0 0 auto; z-index: 1000; display: block; padding: 0 !important; background: var(--event-ivory) !important; border: 0 !important; box-shadow: 0 1px 0 rgba(16,17,18,.1); backdrop-filter: none; }
.event-header-main { width: min(1280px, 100%); height: 64px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 180px minmax(260px, 1fr) auto auto; gap: 28px; align-items: center; }
.event-header-main .logo { display: flex !important; align-items: center; justify-content: flex-start; min-width: 150px; height: 48px; opacity: 1 !important; color: var(--event-ink) !important; }
.event-header-main .logo img { display:block; width:auto; max-width:170px; max-height:42px !important; object-fit:contain; }
.event-search { height: 40px; display:flex; align-items:center; gap:12px; padding: 0 12px; border:1px solid #c9c5bb; border-radius: 999px; background:rgba(255,255,255,.44); color:var(--event-ink); }
.event-search > i { font-size:19px; flex:none; }
.event-search input { width:100%; min-width:0; height:100%; border:0; outline:0; background:transparent; color:var(--event-ink); font:400 14px var(--event-body); }
.event-search input::placeholder { color:#5d5a54; opacity:1; }
.event-search button { width:30px;height:30px;display:grid;place-items:center;flex:none;font-size:17px; }
.event-help { display:flex; gap:10px; align-items:center; color:var(--event-ink); white-space:nowrap; }
.event-help > i { color:#139E61; font-size:27px; }
.event-help span { display:flex; flex-direction:column; line-height:1.25; font-size:12px; }
.event-help strong { font-weight:700; }
.event-help small { color:#4d4b47; font-size:11px; }
.event-account-cart { display:flex; align-items:center; gap:18px; }
.event-account-cart > a,.event-account-cart .cart-btn { position:relative; display:flex; align-items:center; gap:6px; color:var(--event-ink); font-size:13px; white-space:nowrap; }
.event-account-cart i { font-size:23px; }
.event-account-cart .cart-badge { top:-6px;right:-7px;background:var(--event-yellow)!important;color:var(--event-ink)!important; }
.event-account-cart .cart-btn { width:auto;height:auto;border-radius:0!important; }
.event-header-main > .mobile-search-btn { display:none; }
#main-header .event-category-nav { width:100%; min-height:50px; padding:0 max(32px, calc((100vw - 1216px)/2)); display:flex !important; align-items:center; justify-content:space-between; gap:20px; overflow:visible; background:var(--event-yellow); border:0; }
#main-header .event-category-nav a { flex:none; display:inline-flex; align-items:center; min-height:50px; color:var(--event-ink); font:500 15px var(--event-body); letter-spacing:0; text-transform:none; white-space:nowrap; }
#main-header .event-category-nav a:hover { color:#4D3470; }
#main-header .event-category-nav .event-personalize-link { min-height:38px; padding:0 20px; border:1px solid var(--event-ink); border-radius:5px; font-style:italic; }
.event-home { padding-top:114px; padding-bottom:0 !important; }
.event-hero { display:grid; grid-template-columns:44.3% 55.7%; min-height:484px; background:#fffdf8; }
.event-hero-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:48px clamp(32px,5.8vw,84px); }
.event-hero h1 { max-width:520px; font-size:clamp(42px,5.5vw,68px); line-height:.99; letter-spacing:-.055em; }
.event-hero-copy > p { width:100%; max-width:410px; margin-top:18px; color:#383735; font-size:clamp(18px,2vw,22px); line-height:1.3; }
.event-hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:13px; margin-top:20px; }
.event-button { min-height:46px; min-width:250px; padding:10px 18px; display:inline-flex; justify-content:space-between; align-items:center; gap:18px; border:1.5px solid var(--event-ink); border-radius:5px; font:600 16px var(--event-body); line-height:1.25; transition:background .18s ease, color .18s ease; }
.event-button i { font-size:19px; }
.event-button-dark { background:var(--event-ink);color:#fff; }
.event-button-dark:hover { background:#333;color:#fff; }
.event-button-light { background:transparent;color:var(--event-ink); }
.event-button-light:hover { background:#fff;color:var(--event-ink); }
.event-hero-media,.event-custom-media { position:relative; overflow:hidden; background:var(--event-lilac); }
.event-hero-media { min-height:484px; }
.event-hero-media > img,.event-custom-media > img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover; }
.event-hero-media:not(.has-image) .event-image-empty { max-width:230px; }
.event-image-empty { position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:11px;padding:24px;color:#59486a;text-align:center;font-size:13px; }
.event-image-empty i { font-size:40px; }
.event-image-empty span { max-width:250px; }
.event-hero-media.has-image > .event-image-empty,.event-custom-media.has-image > .event-image-empty,.event-need-image.has-image > .event-image-empty { display:none; }
.event-needs-section,.event-occasions-section,.event-products-section { width:min(1216px,calc(100% - 64px)); margin:0 auto; }
.event-needs-section { padding:25px 0 4px; }
.event-home h2 { font-size:clamp(32px,4vw,45px); line-height:1.04; }
.event-mobile-title-break,.event-mobile-description-break { display:none; }
.event-needs-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px; }
.event-need-card { display:flex;flex-direction:column;gap:10px;min-width:0;color:var(--event-ink); }
.event-need-image { position:relative;display:grid;place-items:center;aspect-ratio:1 / 1;overflow:hidden;border-radius:11px; }
.event-need-card > span { display:flex;justify-content:space-between;align-items:center;gap:6px;padding:0 14px;font-size:16px;font-weight:700;line-height:1.25; }
.event-need-card > span i { flex:none;font-size:19px; }
.event-need-image img { width:100%;height:100%;padding:12px;object-fit:contain; }
.event-hero-media > img[hidden],.event-custom-media > img[hidden],.event-need-image > img[hidden] { display:none!important; }
.event-need-image > .event-image-empty { color:#675b69; }
.event-need-image .event-image-empty i { font-size:34px; }
.event-need-yellow .event-need-image { background:#FFD84D; }
.event-need-lilac .event-need-image { background:#E4CEF1; }
.event-need-coral .event-need-image { background:#F47F6C; }
.event-need-ivory .event-need-image { background:#F2E9DC; }
.event-occasion-chip { min-height:44px;display:inline-flex;justify-content:center;align-items:center;padding:8px 20px;border:1.3px solid #303030;border-radius:8px;background:#fffdf8;color:var(--event-ink);font:500 15px var(--event-body);white-space:nowrap; }
.event-occasion-chip:hover,.event-occasion-chip.active { background:var(--event-yellow); }
.event-occasions-section { padding:29px 0 28px; }
.event-section-lead { margin-top:8px;color:#57544e; }
.event-occasion-list { display:flex;align-items:center;gap:10px;overflow-x:auto;padding:12px 2px 6px;scrollbar-width:thin; }
.event-section-heading { display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px; }
.event-section-heading > a { font-weight:700;white-space:nowrap; }
.event-products-section { padding:24px 0 48px; }
.event-products-section .product-grid { margin-top:8px; }
.event-custom-section { display:grid;grid-template-columns:45.4% 54.6%;min-height:300px;background:#E5D3F0; }
.event-custom-copy { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:34px clamp(28px,5vw,68px); }
.event-custom-copy h2 { max-width:440px;font-size:clamp(34px,4.3vw,48px); }
.event-custom-copy p { margin:13px 0 18px;font-size:17px;line-height:1.4; }
.event-custom-media { min-height:300px;background:#eee3f4; }
.event-custom-copy .event-button { min-width:250px; }
.event-site-header + .event-catalog { padding-top:128px; }
.event-catalog { padding-bottom:60px!important; }
.event-catalog-heading { width:min(1216px,calc(100% - 64px));margin:0 auto;padding:34px 0 12px; }
.event-catalog-heading h1 { margin:0;font-size:clamp(34px,4.6vw,54px); }
.event-catalog-heading p:not(.event-eyebrow) { margin-top:8px;color:#55514b; }
.event-eyebrow { margin-bottom:9px;color:#615b53;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase; }
#store-categories-section { width:min(1216px,calc(100% - 64px));padding:12px 0 48px!important;margin:0 auto!important; }
.event-store-category { min-height:200px;padding:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fffdf8;border:1px solid #ded8cc;border-radius:8px;text-align:center; }
.event-store-category-image { width:100%;height:144px;display:grid;place-items:center;background:#f2ede3;border-radius:6px;color:#897c68; }
.event-store-category-image img { width:100%;height:100%;object-fit:contain;padding:8px; }
.event-catalog-filters { width:min(1216px,calc(100% - 64px));margin:0 auto 18px; }
.event-catalog-filters .subcategory-bar { margin:0;padding:0;background:transparent;border:0; }
.event-filter-label { display:block;margin:16px 0 8px;font-size:14px; }
.subcategory-scroll { display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px; }
.subcat-chip { flex:none;display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #b9b3a7;border-radius:999px;background:#fffdf8;color:#272624;font-size:14px;white-space:nowrap; }
.subcat-chip.active { background:var(--event-yellow);border-color:var(--event-ink); }
.subcat-chip-mark { display:none; }
.event-occasion-filter[hidden] { display:none!important; }
.event-occasion-filter .event-occasion-list { padding-top:0; }
.event-results-tools { min-height:40px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #ddd6ca;color:#504d47;font-size:13px; }
.event-clear-filters { padding:8px 0;text-decoration:underline;text-underline-offset:3px;font-weight:600; }
.event-catalog .products-section { width:min(1216px,calc(100% - 64px));margin:0 auto;padding:18px 0 50px; }
.event-catalog .products-section .section-header { margin-bottom:12px; }
.event-catalog #no-products { margin:18px auto 0;padding:50px 20px!important;border:1px solid #e4ded2;border-radius:8px;background:#fffdf8;color:#4d4944!important; }
.event-catalog #no-products i { color:#8c7a9a; }
.event-loading { grid-column:1/-1;padding:32px 12px;text-align:center;color:#6c675f; }
footer .footer-brand .logo { opacity:1!important; }
#main-header .header-container { display:none; }
@media (min-width:993px) {
  #main-header .event-category-nav { gap:18px; }
}
@media (max-width:992px) {
  #main-header.event-site-header { padding:0!important; }
  .event-header-main { height:58px;grid-template-columns:40px 1fr 40px;gap:6px;padding:0 14px; }
  .event-header-main > .mobile-search-btn { display:flex!important;width:40px;height:40px;align-items:center;justify-content:center;font-size:21px; }
  .event-header-main > .event-search,.event-help { display:none; }
  .event-header-main .logo { grid-column:2;grid-row:1;justify-content:center;min-width:0; }
  .event-header-main > .mobile-search-btn { grid-column:1;grid-row:1; }
  .event-account-cart { grid-column:3;grid-row:1;justify-content:flex-end;gap:0; }
  .event-account-cart > a { display:none!important; }
  .event-account-cart .cart-btn { width:40px;height:40px;justify-content:center; }
  .event-account-cart .cart-btn > span:not(.cart-badge) { display:none; }
  #main-header .event-category-nav { display:none!important; }
  #mobile-bottom-bar.mobile-bottom-nav {
    position:fixed!important;
    inset:auto 0 0!important;
    width:100%!important;
    margin:0!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    height:auto!important;
    min-height:calc(58px + env(safe-area-inset-bottom))!important;
    padding:6px 8px max(6px, env(safe-area-inset-bottom))!important;
    z-index:1100!important;
  }
  #mobile-bottom-bar .mobile-bottom-nav-items {
    width:100%;
    min-height:46px;
    margin:0;
    border-radius:0;
  }
  .event-home { padding-top:100px;padding-bottom:80px!important; }
  .event-hero { grid-template-columns:44% 56%;min-height:380px; }
  .event-hero-copy { padding:32px 24px; }
  .event-hero h1 { font-size:clamp(34px,5.4vw,51px); }
  .event-hero-copy > p { margin-top:14px;font-size:17px; }
  .event-hero-media { min-height:380px; }
  .event-button { min-width:220px;font-size:14px; }
  .event-needs-section,.event-occasions-section,.event-products-section { width:calc(100% - 36px); }
  .event-need-card > span { padding:0 3px;font-size:14px; }
  .event-custom-section { grid-template-columns:45% 55%;min-height:260px; }
  .event-custom-media { min-height:260px; }
  .event-site-header + .event-catalog { padding-top:115px; }
  .event-catalog-heading,.event-catalog-filters,.event-catalog .products-section { width:calc(100% - 36px); }
  #store-categories-section { width:calc(100% - 36px); }
}
@media (max-width:620px) {
  .event-home { padding-top:100px;padding-bottom:80px!important; }
  .event-hero { grid-template-columns:1fr;min-width:0; }
  .event-hero-copy { width:100%;min-width:0;box-sizing:border-box; }
  .event-hero-copy > * { min-width:0;max-width:100%; }
  .event-hero-copy > p { width:100%!important;min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:break-word; }
  .event-hero h1 { width:100%!important;min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:break-word;font-size:clamp(36px,9vw,42px); }
  .event-mobile-title-break,.event-mobile-description-break { display:block!important; }
  .event-hero-copy { order:2;padding:25px 22px 29px; }
  .event-hero h1 { max-width:460px;font-size:clamp(38px,10vw,48px); }
  .event-hero-copy > p { width:100%;max-width:none;font-size:17px;overflow-wrap:anywhere; }
  .event-hero-actions { width:100%;gap:10px;margin-top:17px; }
  .event-button { width:min(100%,310px);min-height:46px; }
  .event-hero-media { order:1;min-height:0;height:auto;aspect-ratio:1.5 / 1; }
  .event-hero-media > img { object-position:center; }
  .event-needs-section { padding-top:25px; }
  .event-home h2 { font-size:32px; }
  .event-needs-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 9px;margin-top:13px; }
  .event-need-image { border-radius:9px; }
  .event-need-image img { padding:7px; }
  .event-need-card > span { gap:4px;font-size:13px; }
  .event-need-card > span i { font-size:16px; }
  .event-occasions-section { padding:25px 0 23px; }
  .event-occasion-list { gap:8px; }
  .event-occasion-chip { min-height:40px;padding:7px 14px;font-size:14px; }
  .event-products-section { padding:23px 0 34px; }
  .event-section-heading { align-items:flex-end; }
  .event-section-heading h2 { max-width:70%; }
  .event-section-heading > a { font-size:13px; }
  .event-custom-section { grid-template-columns:1fr; }
  .event-custom-copy { padding:28px 22px 30px; }
  .event-custom-copy h2 { font-size:36px; }
  .event-custom-copy p { font-size:16px; }
  .event-custom-media { min-height:0;height:auto;aspect-ratio:1.35/1; }
  .event-catalog-heading { padding:25px 0 10px; }
  .event-catalog-heading h1 { font-size:36px; }
  .event-catalog-filters .event-filter-label { font-size:13px; }
  .event-results-tools { font-size:12px; }
  .event-catalog .products-section { padding-top:14px; }
  #store-categories-section .store-categories-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .event-store-category { min-height:174px;padding:8px;font-size:14px; }
  .event-store-category-image { height:120px; }
  #main-header .event-category-nav { gap:16px; }
}
@media (prefers-reduced-motion: reduce) {
  .event-button,.event-occasion-chip { transition:none; }
}
