/* Reference-inspired wedding room and entertainment; scoped to these pages. */
.app:has(.community-page:not(.hidden))>.app-header{display:none;}
.app:has(.community-page:not(.hidden)){padding-top:env(safe-area-inset-top);}
.app .community-page{padding:0 10px 24px;color:#3f3021;background:linear-gradient(145deg,#fcf5e9,#f7eddf 58%,#fcf6ec);}
.community-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;}
.community-icon{display:block;width:24px;height:24px;flex:none;}
.app .community-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:174px;margin:0 -10px;padding:30px 16px 18px;gap:14px;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 5%,#fffdf6 0,#f5e2c5 75%);overflow:hidden;}
.community-hero::before,.community-hero::after{content:'';position:absolute;bottom:-24px;width:124px;height:124px;background:url('assets/community-bouquet.svg') center/contain no-repeat;z-index:1;pointer-events:none;opacity:.95;}
.community-hero::before{left:-26px;transform:rotate(12deg);}.community-hero::after{right:-25px;transform:scaleX(-1) rotate(9deg);}
.app .community-hero>img{position:relative;z-index:0;flex:0 0 31%;width:31%;max-width:160px;aspect-ratio:.88;object-fit:contain;background:#faedd8;border:2px solid #fffaf0;border-radius:50%;box-shadow:0 2px 12px #7c511c1a;}
.app .community-hero .community-hero-copy{position:relative;flex:1;min-width:0;z-index:2;text-align:center;}
.app .community-hero-copy>p{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(24px,7.5vw,40px);font-weight:600;white-space:nowrap;letter-spacing:-1px;line-height:1.05;color:#865118;margin:0 0 7px;}
.community-gold-heart{color:#b77b21;text-shadow:0 1px 1px #70430c;font-size:.85em;}
.app .community-hero--chat h1{font:500 clamp(13px,3.7vw,20px)/1.4 'Cormorant Garamond',Georgia,serif;letter-spacing:2px;text-transform:uppercase;color:#2e261e;margin:0 0 6px;}
.app .community-hero small{font-size:clamp(10px,2.6vw,13px);font-weight:400;line-height:1.5;color:#6f5839;}
.community-hero-nav{position:absolute;inset:8px 9px auto;display:flex;gap:3px;align-items:center;z-index:3;}
.community-hero-nav>span{flex:1;}
.community-hero-nav button,.community-icon-button{display:grid;place-items:center;background:none;color:#865518;border:0;width:33px;height:33px;padding:5px;cursor:pointer;border-radius:50%;font-size:25px;line-height:1;}
.community-hero-nav button{background:#fff9efb3;}.community-hero-nav .community-icon{width:21px;height:21px;}
.app .community-hero--entertainment{min-height:218px;padding:34px 12px 27px;gap:4px;background:linear-gradient(100deg,#f1d6ae,#fffbef 70%);}
.app .community-hero--entertainment>img{position:absolute;inset:0 auto 0 0;width:49%;max-width:none;height:100%;border:0;border-radius:0;aspect-ratio:auto;object-fit:contain;object-position:center;box-shadow:none;mask-image:linear-gradient(to right,#000 86%,transparent);}
.community-hero--entertainment .community-hero-copy{margin-left:41%;padding-top:8px;}
.app .community-hero--entertainment .community-hero-copy>p{font-size:clamp(21px,6vw,33px);margin-bottom:10px;}
.app .community-hero--entertainment h1{font:400 clamp(30px,9vw,50px)/1.15 'Great Vibes',cursive;color:#865118;overflow-wrap:normal;margin:0 0 8px;}
.app .community-hero--entertainment small{font:500 clamp(8px,2.35vw,12px)/1.6 'Cormorant Garamond',Georgia,serif;text-transform:uppercase;letter-spacing:1px;color:#3e3024;}
.community-heart-divider{display:flex;align-items:center;justify-content:center;gap:9px;color:#af792c;margin-bottom:8px;font-size:13px;}.community-heart-divider::before,.community-heart-divider::after{content:'';width:30px;height:1px;background:#c4a477;}
.app .community-filters{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;padding:5px;margin:0 -5px 12px;border:1px solid #fffaf2;border-radius:14px;background:#fffbf2;box-shadow:0 2px 10px #ab7c2710;}
.app .community-filters .chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:65px;height:auto;padding:7px 1px;border:0;border-right:1px solid #ecdcc533;border-radius:0;font:500 11px/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:0;white-space:normal;text-transform:none;background:none;color:#5b3615;box-shadow:none;}
.app .community-filters .chip>span{display:block;max-width:100%;min-width:0;overflow-wrap:anywhere;text-align:center;}
.app .community-filters .chip .community-icon{width:24px;height:24px;}
.app .community-filters .chip.active{background:linear-gradient(145deg,#bd822c,#875217);color:#fffaf0;border-radius:8px;box-shadow:inset 0 1px 1px #e6bc72;}
.community-icon-button:focus-visible,.community-hero-nav button:focus-visible,.chat-reactions button:focus-visible,.chat-emoji-tray button:focus-visible,.chat-emoji-picker button:focus-visible{outline:2px solid #9a641e;outline-offset:2px;}
.chat-room-tools{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:0 4px 8px;}
.community-guidance{font-size:10px;line-height:1.6;color:#8a7152;}.community-guidance summary{cursor:pointer;}.community-guidance p{margin:6px 0;max-width:100%;font-size:11px;line-height:1.6;}
.community-page>.upload-status:empty{display:none;}.community-page>.upload-status{margin:8px 4px;font-size:11px;line-height:1.5;}
.community-search{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:#fffaf0;border:1px solid #ead9b9;padding:10px;border-radius:10px;margin-bottom:10px;}.community-search label{width:100%;font-size:11px;}.community-search input{flex:1;min-width:0;font:inherit;font-size:13px;border:1px solid #dbc9a9;border-radius:15px;padding:8px;}.community-search button{border:0;background:none;color:#87571b;font-size:12px;}
.app [data-view="chat"].community-page{display:flex;flex-direction:column;box-sizing:border-box;height:calc(100dvh - var(--tabbar-h) - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding-bottom:0;}
.app [data-view="chat"]>.community-hero,.app [data-view="chat"]>.community-filters,.chat-room-tools,.chat-composer{flex-shrink:0;}
.app .chat-messages{flex:1;min-height:100px;max-height:none;gap:22px;padding:8px 2px 16px;}
.app .chat-card{position:relative;box-sizing:border-box;padding-left:39px;width:88%;max-width:490px;}
.app .chat-card.is-own{padding-left:0;width:79%;}.app .chat-card.is-media{width:75%;}.app .chat-card.is-own.is-media{width:67%;}.app .chat-card.is-pinned{width:100%;padding-left:39px;}
.app .chat-who{gap:6px;min-height:23px;margin-bottom:3px;font-size:11px;}
.app .chat-who>strong{font:700 17px/1.1 'Cormorant Garamond',Georgia,serif;color:#241c13;overflow-wrap:anywhere;}
.app .chat-avatar{position:absolute;left:0;top:0;width:32px;height:32px;box-sizing:border-box;border:2px solid #fffdf5;box-shadow:0 1px 4px #82531820;background:#f0dfc4;color:#8b591e;font-size:10px;overflow:hidden;}
.chat-avatar>img{display:block;width:100%;height:100%;object-fit:cover;}.chat-card.is-own:not(.is-pinned) .chat-avatar{display:none;}
.app .chat-badge{padding:3px 8px;background:#faeace;font-size:10px;font-weight:400;border-radius:10px;color:#65421b;}.app .chat-card.is-host .chat-who>.chat-badge{background:linear-gradient(#ba7f2b,#875117);color:#fff8e9;}
.app .chat-who time{font-size:9px;font-weight:400;color:#968671;}.chat-pin{margin-left:auto;font-size:14px;}
.app .chat-bubble{border:0;border-radius:3px 11px 11px;padding:10px 11px;background:#fffdf7e8;box-shadow:0 2px 7px #88632d08;}
.app .chat-bubble p{font-family:Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.45;color:#26221d;}
.app .chat-card.is-own .chat-bubble{background:linear-gradient(115deg,#b87c29,#895316);border-radius:11px 3px 11px 11px;}.app .chat-card.is-own .chat-bubble p{color:#fff9ec;}
.app .chat-card.is-pinned .chat-bubble{background:#f7dfb0;border-radius:5px 12px 12px;}.app .chat-card.is-pinned .chat-bubble p{color:#292218;}
.app .chat-card.is-media .chat-bubble:has(img),.app .chat-card.is-media .chat-bubble:has(video){padding:0 0 9px;overflow:hidden;}.app .chat-card.is-media .chat-bubble:has(img) p,.app .chat-card.is-media .chat-bubble:has(video) p{padding:0 9px;}
.app .chat-bubble img,.app .chat-bubble video{display:block;margin-bottom:8px;max-height:260px;border-radius:10px;background:#efdfc9;}.chat-card .chat-file{color:inherit;}
.app .chat-reactions{gap:5px;margin:4px 0 0 3px;}.app .chat-reactions button,.chat-emoji-tray button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:29px;min-height:28px;padding:3px 6px;border:0;background:#fffdf6;border-radius:16px;box-shadow:0 2px 5px #8a5a2220;font-size:16px;color:#221c15;}
.chat-reactions button>span{font:12px Arial,sans-serif;}.app .chat-reactions button[aria-pressed=true]{background:#fae0a9;box-shadow:0 0 0 1px #bb8a44;}.chat-reactions [data-chat-choose]{color:#96601e;}
.chat-emoji-tray,.chat-emoji-picker{display:flex;flex-wrap:wrap;gap:7px;padding:8px;background:#fffaf0;border:1px solid #e8d4ae;border-radius:12px;margin:7px 0;box-shadow:0 4px 14px #79521e12;}
.chat-emoji-picker button{border:0;border-radius:8px;background:none;min-width:32px;min-height:34px;font-size:21px;}
.app .chat-moderation{gap:4px;}.app .chat-moderation button{min-height:27px;font-size:9px;padding:4px 6px;background:#fff9ef99;}.app .chat-pending{font-size:10px;line-height:1.4;}
.app .chat-composer{position:relative;bottom:auto;z-index:5;padding:9px 7px 5px;border:1px solid #fffaf1;border-radius:16px;background:#fffaf1f7;box-shadow:0 -3px 18px #9763210c;margin:8px -4px 0;backdrop-filter:blur(8px);}
.chat-compose-row{display:flex;align-items:center;gap:7px;min-width:0;}.chat-input-pill{display:flex;align-items:center;flex:1;min-width:0;background:#faf5ec;border:1px solid #e8ddcf;border-radius:25px;padding:4px 3px 4px 10px;}
.app .chat-composer #chatText{flex:1;display:block;width:100%;min-width:0;min-height:30px;height:30px;max-height:90px;padding:6px 0;margin:0;border:0;background:none;box-shadow:none;resize:vertical;font:13px/1.4 Arial,sans-serif;border-radius:0;color:#33281e;}.chat-composer #chatText:focus{outline:none;}.chat-input-pill:focus-within{outline:2px solid #ba8a47;outline-offset:1px;}
.app .chat-composer .community-icon-button{flex:none;width:26px;height:31px;padding:2px;color:#825019;}.app .chat-composer .community-icon{width:24px;height:24px;}
.app .chat-composer .community-attach{display:grid;place-items:center;flex:none;padding:0;min-width:0;border:0;border-radius:50%;color:#895719;}.app .chat-composer .chat-attach-all{width:29px;height:29px;font:30px/1 Georgia,serif;background:linear-gradient(135deg,#b97c27,#875016);color:#fff9e9;}
.app .chat-composer .chat-camera{width:27px;height:32px;border-radius:4px;}.app .chat-composer #chatSend{display:grid;place-items:center;flex:none;width:36px;height:36px;min-width:0;padding:7px;border:0;border-radius:50%;background:linear-gradient(135deg,#ba7c24,#885216);color:#fff8e8;box-shadow:none;}.chat-composer #chatSend .community-icon{width:22px;height:22px;}.chat-send-progress{font:20px Arial,sans-serif;}.chat-file-help{font-size:8px;line-height:1.4;margin:5px 0 0 39px;}.chat-composer #chatAttachment:empty{display:none;}.chat-composer #chatAttachment{margin:0 3px 7px;font-size:10px;overflow-wrap:anywhere;}.chat-composer #chatAnnouncementLabel{display:block;font-size:11px;margin:0 4px 8px;}.chat-composer #chatClearAttachment{font-size:10px;padding:5px;margin:0;}
.app .community-empty{border:0;background:#fffbf3b3;border-radius:12px;padding:28px 18px;font:500 17px/1.6 'Cormorant Garamond',Georgia,serif;color:#8a6a43;}
.app .entertainment-acts{gap:6px;margin:0 0 12px;}.app .entertainment-card{grid-template-columns:46% minmax(0,1fr);min-height:128px;border:1px solid #fff9ef;border-radius:11px;background:#fffbf1;box-shadow:0 1px 4px #a7793410;overflow:visible;}
.entertainment-photo{position:relative;align-self:stretch;margin:0;border-radius:10px;overflow:hidden;min-width:0;}.entertainment-photo>img{display:block;width:100%;height:100%;min-height:128px;max-height:245px;object-fit:cover;}.entertainment-photo figcaption{position:absolute;top:7px;left:7px;max-width:calc(100% - 14px);padding:3px 9px;border:1px solid #fff2d4;border-radius:14px;background:#9d6724d9;color:#fff5df;font:12px/1.1 'Cormorant Garamond',Georgia,serif;text-transform:uppercase;overflow-wrap:anywhere;}
.app .entertainment-card>.entertainment-card-copy{position:relative;padding:10px 17px 9px 11px;}.app .entertainment-card h2{font:600 clamp(19px,5vw,28px)/1.05 'Cormorant Garamond',Georgia,serif;margin:0 0 5px;color:#6c251c;}.app .entertainment-category{font:500 8px/1.3 'Cormorant Garamond',Georgia,serif;letter-spacing:1.5px;color:#3a3028;}.app .entertainment-card-copy>p{font:500 clamp(12px,3.2vw,16px)/1.23 'Cormorant Garamond',Georgia,serif;color:#453b30;margin:5px 0 7px;}
.app .entertainment-socials{gap:6px;}.app .entertainment-socials a{display:grid;place-items:center;width:23px;height:23px;padding:3px;box-sizing:border-box;border-radius:50%;color:#8b4f18;background:#fae8ca;}.entertainment-socials .community-icon{width:17px;height:17px;}
.entertainment-act-details summary{position:absolute;right:4px;top:46%;list-style:none;cursor:pointer;color:#a16b2c;font:18px Georgia,serif;padding:3px;}.entertainment-act-details summary::-webkit-details-marker{display:none;}.entertainment-act-details[open] summary{transform:rotate(90deg);}.entertainment-act-details>p{font-size:10px;line-height:1.5;color:#775c38;overflow-wrap:anywhere;}
.app .entertainment-schedule{border:1px solid #fff9ed;border-radius:12px;padding:12px 8px;background:#fff8eac7;margin-top:8px;}.entertainment-schedule-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:14px;}.app .entertainment-schedule h2{display:flex;align-items:center;gap:7px;font:600 16px/1.1 'Cormorant Garamond',Georgia,serif;text-transform:uppercase;margin:0;color:#6c3b1c;}.entertainment-schedule h2 .community-icon{width:18px;height:18px;}.entertainment-schedule-heading .back-link{font:500 9px/1.2 'Cormorant Garamond',Georgia,serif;text-transform:uppercase;padding:3px;margin:0;}
.app #entertainmentSchedule{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:0;align-items:start;}.app #entertainmentSchedule>.community-note{grid-column:1/-1;text-align:center;}
.app .entertainment-time{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:0;padding:0 5px 8px;border:0;font:500 12px/1.2 'Cormorant Garamond',Georgia,serif;color:#3e3025;}.entertainment-time::before{content:'';position:absolute;left:0;right:0;top:17px;height:1px;background:#ddc7a5;}.entertainment-time:first-child::before{left:50%;}.entertainment-time:last-child::before{right:50%;}.entertainment-time-icon{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#b77b27,#865016);color:#fff7e5;margin-bottom:6px;}.entertainment-time-icon .community-icon{width:20px;height:20px;}.app .entertainment-time strong{font-size:13px;color:#6d321c;}.entertainment-time time{font-size:9px;color:#94754e;}.entertainment-time small{font-size:10px;}.entertainment-timezone{font-size:9px;text-align:center;margin:9px 0 0;}
@media(max-width:360px){.app .community-hero{gap:7px;padding-left:9px;padding-right:9px;min-height:156px;}.app .community-hero-copy>p{font-size:25px;}.app .community-hero--entertainment{min-height:190px;}.app .community-hero--entertainment .community-hero-copy>p{font-size:22px;}.app .community-hero--entertainment h1{font-size:31px;}.app .community-filters .chip{font-size:9px;min-height:62px;gap:5px;}.app .community-filters .chip .community-icon{width:22px;height:22px;}.chat-compose-row{gap:4px;}.app .chat-composer .chat-camera{display:none;}.app .chat-composer .community-icon-button{width:23px;}.app .chat-composer .community-icon{width:21px;height:21px;}.app .chat-composer #chatSend{width:32px;height:32px;}.app .chat-card{width:94%;padding-left:35px;}.app .chat-card.is-own.is-media{width:76%;}.app .chat-who>strong{font-size:15px;}.app .entertainment-card>.entertainment-card-copy{padding:8px 15px 8px 8px;}.app .entertainment-card h2{font-size:19px;}.entertainment-photo figcaption{font-size:10px;padding:3px 6px;}}
@media(prefers-reduced-motion:reduce){.community-page *{scroll-behavior:auto;}}
@media(min-width:900px){.app [data-view="chat"].community-page{height:calc(100dvh - var(--tabbar-h) - 26px - env(safe-area-inset-top) - env(safe-area-inset-bottom));}}

/* Compact chat chrome: larger visible photo, more space for conversation. */
.app .community-hero--chat{height:126px;min-height:0;box-sizing:border-box;padding:8px 10px;gap:8px;align-items:flex-start;}
.app .community-hero--chat>img{flex:0 0 42%;width:42%;max-width:205px;height:110px;aspect-ratio:auto;border-radius:24px;object-fit:contain;}
.app .community-hero--chat .community-hero-copy{padding-top:28px;}
.app .community-hero--chat .community-hero-copy>p{font-size:clamp(22px,5.5vw,28px);letter-spacing:-.6px;margin-bottom:4px;}
.app .community-hero--chat h1{font-size:12px;line-height:1.2;letter-spacing:1.6px;margin-bottom:4px;}
.app .community-hero--chat small{font-size:10px;line-height:1.3;}
.community-hero--chat::before,.community-hero--chat::after{width:86px;height:86px;bottom:-25px;opacity:.7;}
.community-hero--chat .community-hero-nav{inset:2px 5px auto;gap:1px;}
.community-hero--chat .community-hero-nav button{width:32px;height:30px;padding:7px;font-size:19px;}
.community-hero--chat .community-hero-nav .community-icon{width:16px;height:16px;}
.app .community-filters{padding:3px;margin-bottom:5px;border-radius:10px;}
.app .community-filters .chip{min-height:48px;gap:3px;padding:4px 1px;font-size:10px;line-height:1.1;}
.app .community-filters .chip .community-icon{width:18px;height:18px;}
.chat-room-tools{min-height:28px;margin:0 3px 3px;}
.chat-room-tools>.community-icon-button{width:32px;height:28px;padding:6px;}
.chat-room-tools .community-icon{width:17px;height:17px;}
.app .chat-messages{gap:15px;padding-top:5px;min-height:80px;}
.app .chat-who>strong{font-size:15px;}.app .chat-who{gap:5px;min-height:21px;}
.app .chat-bubble p{font-size:14px;line-height:1.45;}
.app .chat-bubble img,.app .chat-bubble video{max-height:clamp(140px,30dvh,230px);object-fit:contain;}
.app .chat-composer{padding:6px 6px 4px;margin-top:4px;border-radius:13px;}
.chat-compose-row{gap:4px;}
.app .chat-composer .community-icon-button{width:28px;height:32px;padding:6px;}
.app .chat-composer .community-icon{width:18px;height:18px;}
.app .chat-composer .chat-camera{width:28px;height:32px;}
.app .chat-composer .chat-attach-all{width:28px;height:28px;font-size:24px;}
.app .chat-composer #chatSend{width:32px;height:32px;padding:7px;}
.chat-composer #chatSend .community-icon{width:18px;height:18px;}
.chat-file-help{font-size:9px;margin-top:3px;}
@media(max-width:360px){.app .community-hero--chat{height:118px;padding:6px 8px;}.app .community-hero--chat>img{height:104px;}.app .community-hero--chat .community-hero-copy{padding-top:28px;}.app .community-hero--chat .community-hero-copy>p{font-size:22px;}.app .community-hero--chat h1{font-size:10px;letter-spacing:1.3px;}.app .community-hero--chat small{font-size:9px;}.app .community-filters .chip{font-size:9px;}.app .community-filters .chip .community-icon{width:17px;height:17px;}}
@media(max-height:600px){.app .community-hero--chat{height:78px;padding:4px 8px;}.app .community-hero--chat>img{height:70px;max-width:160px;}.app .community-hero--chat .community-hero-copy{padding-top:17px;}.app .community-hero--chat .community-hero-copy>p{font-size:21px;margin-bottom:2px;}.app .community-hero--chat h1{font-size:10px;margin-bottom:2px;}.app .community-hero--chat small{font-size:9px;}.community-hero--chat .community-hero-nav button{height:25px;width:29px;padding:6px;font-size:16px;}.community-hero--chat .community-hero-nav .community-icon{width:14px;height:14px;}.app [data-view="chat"] .community-filters .chip{min-height:44px;}.app [data-view="chat"] .chat-messages{min-height:40px;}.app [data-view="chat"] .chat-file-help{display:none;}.app .chat-bubble img,.app .chat-bubble video{max-height:120px;}}
