/* Gram reference palette and layout. Matches mtclub.lcl.com's visual system. */
:root{
--og-ink:#13213f;--og-muted:#4b5875;--og-faint:#5d6880;--og-paper:#f3f5f9;--og-surface:#fff;--og-line:#dce1ea;
--og-navy:#102552;--og-navy-deep:#0b1b3d;--og-blue:#1d55d6;--og-blue-soft:#e8effd;--og-seal:#d1222b;
--og-primary:var(--og-blue);--og-primary-dark:#1747b5;--og-primary-soft:var(--og-blue-soft);--og-amber:var(--og-seal);--og-amber-soft:#fceced;--og-red:var(--og-seal);
--og-radius:12px;--og-shadow:none;
}
body.opgram{background:var(--og-paper);color:var(--og-ink);letter-spacing:-.01em;line-height:1.55;padding-bottom:0}
.og-wrap{width:min(1200px,calc(100% - 40px))}
.og-utility{background:#fff;color:var(--og-faint);font-size:12.5px;border-color:#ebeef3}
.og-utility>.og-wrap{min-height:32px}.og-utility nav{gap:16px}
.og-header{background:#fff;border-color:var(--og-line)}
.og-header-inner{height:64px;gap:36px}
.og-brand{width:155px;display:inline-flex;gap:0;line-height:0;flex-shrink:0}
.og-brand img{width:171px;height:38px;max-width:none;margin-left:-16px;object-fit:cover;object-position:center}
.og-desktop-nav{gap:4px;font-size:15.5px;font-weight:700;flex:1}
.og-desktop-nav>a{padding:8px 14px;color:var(--og-muted)}
.og-desktop-nav>a.is-active{color:var(--og-ink)}
.og-desktop-nav>a.is-active::after{left:14px;right:14px;background:var(--og-ink)}
.og-nav-more summary{padding:8px 12px;color:var(--og-muted)}
.og-nav-more>div{top:55px}
.og-header-tools{gap:4px;margin-left:auto}
.og-header-tools>.og-icon-button{width:38px;height:38px}
.og-header-cta{display:inline-flex;align-items:center;justify-content:center;padding:0 16px;height:38px;border-radius:5px;background:var(--og-seal);color:#fff!important;font-size:14px;font-weight:700;white-space:nowrap;margin-left:6px}
.og-header-cta:hover{background:#b81c24}
.og-header-tools .og-icon{width:20px;height:20px}
.og-explore-hero{background:var(--og-navy);color:#fff;border:0;position:relative}
.og-explore-hero::before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background:repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 34px)}
.og-hero-inner{display:block;min-height:0;position:relative;padding:56px 0 0}
.og-hero-copy{max-width:none}
.og-hero-copy h1{font-size:40px;line-height:1.2;font-weight:850;letter-spacing:-.045em;margin:0 0 8px;color:#fff}
.og-hero-copy>p{font-size:16px;line-height:1.55;color:#b9c6e4;max-width:none}
.og-search{background:#fff;border:0;border-radius:12px;padding:6px;margin:28px 0 0;max-width:760px;gap:0;box-shadow:0 12px 40px #00000040}
.og-search input{height:54px;font-size:18px;padding:0 18px;color:var(--og-ink)}
.og-search input::placeholder{color:#8590a6}
.og-search button{height:54px;padding:0 28px;gap:8px;border-radius:8px;background:var(--og-blue);font-size:16px;font-weight:800}
.og-search button:hover{background:#1747b5}
.og-search button .og-icon{width:20px;height:20px}
.og-search:focus-within{box-shadow:0 0 0 3px #7fa3f5,0 12px 40px #00000040}
.og-popular-regions{margin-top:16px;font-size:13px;gap:8px;color:#b9c6e4}
.og-popular-regions>span{font-size:12px;color:#b9c6e4;margin-right:2px}
.og-popular-regions a{border:1px solid #ffffff38;border-radius:999px;padding:4px 12px;color:#fff}
.og-popular-regions a:hover{background:#ffffff1a;color:#fff;text-decoration:none}
.og-tally{margin:48px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--og-navy-deep);border-top:1px solid #ffffff1f}
.og-tally>div{padding:22px 24px 24px;border-right:1px solid #ffffff1f}
.og-tally>div:last-child{border-right:0}
.og-tally dt{font-size:13px;color:#8fa0c6;margin-bottom:8px;font-weight:500}
.og-tally dd{display:flex;gap:3px;margin:0;font-variant-numeric:tabular-nums}
.og-digit{display:inline-grid;place-items:center;width:30px;height:42px;border-radius:4px;background:linear-gradient(#1c2e57 50%,#172850 50%);font-size:26px;font-weight:800;color:#fff;position:relative}
.og-digit::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#00000059}
.og-digit-separator{width:10px;background:none;color:#6e80a8}.og-digit-separator::after{display:none}
.og-explore-layout{display:block;padding-top:32px;padding-bottom:64px}
.og-explore-sidebar{height:auto;margin-bottom:32px}
.og-filter-panel{border:1px solid var(--og-line);border-radius:12px;background:#fff;box-shadow:none}
.og-filter-heading{padding:14px 20px;border-color:#ebeef3}
.og-filter-heading h2{font-size:15px}.og-filter-heading h2>.og-icon{color:var(--og-blue)}
.og-filter-reset{font-size:12px;color:var(--og-faint)!important}
.og-filter-section{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 20px;border-color:#ebeef3}
.og-filter-label{width:76px;flex-shrink:0;margin:0;font-size:13px}
.og-region-all{min-height:38px;font-size:13px;padding:8px 12px;gap:6px}
.og-region-all>.og-icon:last-child{margin-left:0}
.og-region-all.is-selected{background:var(--og-blue-soft);color:var(--og-blue)}
.og-region-options{display:flex;flex-wrap:wrap;gap:4px;flex:1;margin:0}
.og-region-options>a{padding:8px 12px;font-size:13px;min-height:38px}
.og-region-options>a>.og-icon{display:none}
.og-region-options>a:hover,.og-region-options>a.is-selected{background:var(--og-blue-soft);color:var(--og-blue)}
.og-area-options{width:100%;margin:0 0 0 86px;padding:10px 0 0;border-color:#ebeef3;gap:6px}
.og-area-options a{font-size:12px;padding:8px 12px;border-color:var(--og-line)}
.og-area-options a.is-selected{color:var(--og-blue);border-color:var(--og-blue)}
.og-nearby{width:auto;margin:0;padding:8px 12px;border:1px solid var(--og-line);background:#fff;color:var(--og-muted)!important;font-size:12px!important;min-height:38px}
.og-nearby-message{width:100%;margin-left:86px}
@media(min-width:768px){
    .og-region-section{display:grid;grid-template-columns:76px auto minmax(0,1fr) auto;align-items:start;gap:10px}
    .og-region-section>.og-filter-label{grid-column:1;grid-row:1;padding-top:9px}
    .og-region-section>.og-region-all{grid-column:2;grid-row:1;white-space:nowrap}
    .og-region-section>.og-region-options{grid-column:3;grid-row:1;min-width:0}
    .og-region-section>.og-nearby{grid-column:4;grid-row:1;margin:0;white-space:nowrap}
    .og-region-section>.og-area-options{grid-column:2/-1;grid-row:2;width:auto;margin:0;padding-top:12px}
    .og-region-section>.og-nearby-message{grid-column:2/-1;grid-row:3;width:auto;margin:0}
}
.og-type-options{flex:1;gap:6px}
.og-type-options a{font-size:12px;padding:7px 11px;border-radius:5px;min-height:34px}
.og-type-options a.is-selected{background:var(--og-blue);border-color:var(--og-blue);color:#fff}
.og-results{min-width:0}
.og-section-heading{margin-bottom:16px}
.og-section-heading h3{font-size:22px;font-weight:850;letter-spacing:-.035em}
.og-section-heading>span{font-size:13px;color:var(--og-muted)}
.og-shop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.og-place-card{border-color:var(--og-line);box-shadow:none;border-radius:10px}
.og-place-card:hover{transform:none;border-color:#afbacf;box-shadow:0 4px 16px #13213f0c}
.og-place-image-link{aspect-ratio:16/9;background:#e8ecf3}
.og-place-info{padding:16px 16px 0}
.og-card-topline{font-size:11px;color:var(--og-faint);margin-bottom:8px}
.og-category-badge{background:#fceced;color:var(--og-seal);border-radius:4px;font-size:11px;font-weight:700;padding:3px 7px}
.og-place-info h4{font-size:18px;font-weight:800;letter-spacing:-.035em}
.og-card-location{font-size:13px;color:var(--og-muted);margin-top:5px!important}
.og-card-hours{font-size:12px;color:var(--og-faint);margin-top:12px!important}
.og-card-hours .og-icon{width:14px;height:14px}
.og-card-bottom{font-size:12px;border-color:#ebeef3;min-height:47px;padding:11px 0;margin-top:15px}
.og-card-bottom a{min-height:24px}
.og-card-discount{color:var(--og-seal)}
.og-card-area{font-size:10px;border:1px solid #dce1ea66}
.og-premium-badge{background:var(--og-seal);border:0;border-radius:4px;font-size:9px}
.og-premium-section{background:#fff;border:1px solid var(--og-line);padding:24px;margin-bottom:36px;border-radius:12px}
.og-premium-section .og-section-heading h3{font-size:20px}
.og-premium-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.og-card-image-fallback{background:repeating-linear-gradient(-45deg,#edf0f6,#edf0f6 7px,#f7f8fb 7px,#f7f8fb 14px);color:#8590a6}
.og-count{font-size:14px;color:var(--og-faint);font-weight:500}
.og-active-filters{margin:0 0 22px}.og-active-filters a{color:var(--og-blue);font-size:12px}
.og-order-label>.og-icon{display:none}
.og-loading,.og-empty,.og-load-error{font-size:14px;border-color:var(--og-line);background:#fff}
.og-loading{background:transparent}.og-empty p,.og-load-error p{font-size:14px}
.og-load-more{font-size:14px!important;border-color:var(--og-line);border-radius:8px;min-height:46px}
.og-list-end{font-size:12px}
.og-home-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}
.og-home-board{background:#fff;border:1px solid var(--og-line);border-radius:12px;overflow:hidden}
.og-home-board>div{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #ebeef3}
.og-home-board h2{font-size:17px;font-weight:800}
.og-home-board>div>a{font-size:12px;color:var(--og-faint)}
.og-home-board ul{padding:6px 20px}
.og-home-board li{font-size:14px;padding:12px 0;border-bottom:1px solid #ebeef3}
.og-home-board li:last-child{border:0}
.og-home-board li a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.og-home-board .og-board-empty{padding:28px 0;color:var(--og-faint);font-size:13px}
.og-footer{background:#fff;border-color:var(--og-line);padding:32px 0}
.og-footer .og-brand{width:123px}.og-footer .og-brand img{height:30px;width:135px;margin-left:-12px}
.og-footer-top nav{font-size:12px;color:var(--og-muted)}.og-footer-bottom{font-size:12px;color:var(--og-faint)}
.og-footer-bottom>span{font-size:11px}
.og-button{border-radius:5px;border-color:var(--og-line);font-size:14px}
.og-button-primary{background:var(--og-blue);border-color:var(--og-blue)}
.og-button-primary:hover{background:#1747b5}
.og-shop-detail{border-radius:12px;box-shadow:none;border-color:var(--og-line)}
.og-detail-cover{background:#edf0f6}.og-detail-placeholder{color:#8590a6}
.og-detail-summary,.og-description-html,.og-detail-description p{font-size:14px}
.og-detail-description{border-color:var(--og-line)}
.og-detail-facts dd{font-size:14px}.og-detail-facts dt{font-size:13px}
.og-discount-notice{background:#fceced;color:var(--og-seal);border-radius:5px}
.og-shop-dialog{border-radius:12px;box-shadow:0 24px 80px #13213f40}
.og-toast{background:var(--og-ink);border-radius:5px}
body.og-auth-page{background:var(--og-paper)!important}
.og-auth-main{display:block;width:min(440px,calc(100% - 40px));margin:48px auto 64px;min-height:55vh}
.og-auth-card{padding:32px;background:#fff;border:1px solid var(--og-line);border-radius:12px;box-shadow:none}
.og-auth-card>h1{font-size:28px;font-weight:850;letter-spacing:-.04em;margin:0 0 28px;color:var(--og-ink)}
.og-form>label{font-size:14px;font-weight:650}
.og-form input{font-size:14px;border-color:var(--og-line);border-radius:5px}
.og-password-field button{border-radius:4px}
.og-form-help-links,.og-auth-signup{font-size:12px;color:var(--og-muted)}
.og-auth-signup a,.og-registration-note a{color:var(--og-blue)}
.og-registration-note{font-size:12px}
.og-alert{background:var(--og-blue-soft);color:var(--og-blue);border-color:#c9d9fb;border-radius:5px}
.og-alert-error{background:#fceced;color:var(--og-seal);border-color:#f1c7c9}
.og-community-head>.og-eyebrow{display:none}
.og-community-head h1{font-size:28px;font-weight:850}
.og-community-head p{font-size:14px}
.opgram .board-box,.opgram .attendance-card,.opgram .attendance-topcard,.opgram .my-page-header,.opgram .faq-container,.opgram .ticket-container,.opgram .policy-container{border-radius:12px;box-shadow:none}
.opgram .attendance-topcard-head,.opgram .attendance-card-head,.opgram .faq-header,.opgram .ticket-header,.opgram .policy-header{background:#f3f5f9}
.opgram .board-table th{background:#f3f5f9}
.opgram .board-write-btn,.opgram .board-search-btn,.opgram .att-btn-primary{background:var(--og-blue);border-color:var(--og-blue)}
.opgram .comm-menu-item.active,.opgram .auction-status a.active{background:var(--og-blue-soft);color:var(--og-blue)}
.opgram .policy-section-content{font-size:14px}
.og-bottom-nav{display:none!important}
@media(max-width:1100px){.og-header-inner{gap:20px}.og-desktop-nav>a{padding:8px 10px;font-size:14px}.og-nav-more summary{padding-inline:8px;font-size:14px}.og-header-tools .og-user-tool{display:none}.og-region-options>a{padding-inline:9px}.og-shop-grid,.og-premium-grid{gap:16px}.og-place-info{padding:14px 13px 0}}
@media(max-width:860px){.og-utility,.og-desktop-nav{display:none}.og-header-inner{height:58px;gap:12px}.og-brand{width:123px}.og-brand img{height:30px;width:135px;margin-left:-12px}.og-header-tools{gap:2px}.og-header-tools .og-user-tool{display:none}.og-header-cta{height:34px;padding:0 12px;font-size:12px}.og-menu-toggle{display:flex}.og-mobile-menu:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 20px 18px;gap:6px;border-top:1px solid var(--og-line)}.og-mobile-menu a{padding:12px;font-size:13px;border-radius:5px;background:var(--og-paper)}.og-shop-grid,.og-premium-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.og-filter-section{align-items:flex-start}.og-region-options{flex-basis:calc(100% - 230px)}.og-nearby{margin-left:86px}.og-hero-inner{padding-top:36px}.og-tally>div{padding:18px 15px}.og-digit{width:24px;height:36px;font-size:23px}.og-digit-separator{width:8px}.og-tally dt{font-size:12px}}
@media(max-width:767px){
body.opgram{padding-bottom:0}
.og-wrap{width:calc(100% - 32px)}
.og-header-inner{height:58px}
.og-hero-inner{padding-top:30px}
.og-hero-copy h1{font-size:30px;letter-spacing:-.045em;margin-bottom:10px}
.og-hero-copy>p{font-size:13px;line-height:1.65;max-width:none}
.og-search{margin-top:20px;padding:5px;border-radius:8px}
.og-search input{font-size:15px;height:46px;padding:0 12px}
.og-search button{height:46px;padding:0 17px;font-size:14px;border-radius:5px}
.og-search button .og-icon{width:17px;height:17px}
.og-popular-regions{margin-top:14px;gap:6px;font-size:11px}
.og-popular-regions>span{font-size:11px;width:100%;margin-bottom:2px}
.og-popular-regions a{padding:4px 10px}
.og-tally{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}
.og-tally>div{padding:15px 14px;border-bottom:1px solid #ffffff1f}
.og-tally>div:nth-child(2){border-right:0}
.og-tally>div:nth-last-child(-n+2){border-bottom:0}
.og-tally dt{font-size:11px;margin-bottom:8px}
.og-digit{width:24px;height:32px;font-size:21px}.og-digit-separator{width:8px}
.og-explore-layout{padding-top:20px;padding-bottom:40px}
.og-explore-sidebar{height:0;margin:0}
.og-filter-panel{position:fixed;display:block;z-index:61;inset:auto 0 0;max-height:85dvh;border-radius:14px 14px 0 0;overflow-y:auto;visibility:hidden;transform:translateY(100%)}
.og-filter-heading{padding:14px 20px}
.og-filter-heading h2{font-size:16px}
.og-filter-section{display:block;padding:20px}
.og-filter-label{font-size:14px;width:auto;margin-bottom:12px}
.og-region-all{font-size:13px;min-height:44px;display:flex}
.og-region-all>.og-icon:last-child{margin-left:auto}
.og-region-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:7px}
.og-region-options>a{min-height:44px;padding:10px 12px;font-size:13px}
.og-area-options{margin:12px 0 0;padding-top:12px}
.og-area-options a,.og-type-options a{min-height:44px;padding:10px 12px}
.og-nearby{margin:13px 0 0;width:100%;min-height:44px}
.og-nearby-message{margin-left:0}
.og-filter-mobile-done{border-color:var(--og-line)}
.og-filter-mobile-done .og-button{border-radius:5px}
.og-mobile-filter-bar{margin-bottom:24px}.og-mobile-filter-bar button{border-radius:5px;font-size:13px}
.og-section-heading h3{font-size:21px}.og-section-heading>span{font-size:11px}
.og-count{font-size:12px}
.og-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.og-place-card{display:flex;min-height:0;border-radius:8px}
.og-place-image-link{aspect-ratio:16/10;min-height:0;height:auto}
.og-place-info{padding:12px 11px 0}
.og-card-topline{font-size:10px;gap:5px;margin-bottom:7px}
.og-category-badge{font-size:10px;padding:2px 5px}
.og-place-info h4{font-size:16px}
.og-card-location{font-size:12px}
.og-card-hours{font-size:10px;margin-top:10px!important;gap:4px}
.og-card-hours .og-icon{width:12px;height:12px}
.og-card-bottom{font-size:10px;min-height:42px;margin-top:12px;padding:8px 0;gap:3px}
.og-card-bottom .og-icon{width:12px;height:12px}
.og-card-bottom a{gap:2px}.og-card-discount{font-size:10px}
.og-card-area{font-size:9px;left:8px;bottom:8px}
.og-premium-section{padding:14px;margin-bottom:28px}
.og-premium-section .og-section-heading h3{font-size:18px}
.og-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.og-premium-grid .og-place-card{display:flex}
.og-premium-grid .og-place-image-link{min-height:0}
.og-home-boards{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:30px}
.og-home-board>div{padding:16px}
.og-home-board h2{font-size:16px}
.og-home-board ul{padding-inline:16px}
.og-footer-top{gap:20px}.og-footer-top nav{font-size:11px}.og-footer-bottom{font-size:11px;gap:12px}
.og-footer-bottom>span{font-size:10px}
.og-shop-dialog{border-radius:0}
.og-auth-main{margin:28px auto 40px;width:calc(100% - 32px);max-width:440px;min-height:55vh}
.og-auth-card{padding:26px 22px;border-radius:10px}
.og-auth-card>h1{font-size:26px;margin-bottom:24px}
.og-form input{font-size:16px}
.og-form-help-links,.og-auth-signup{font-size:11px}
.og-community-head h1{font-size:24px}
.og-community-head p{font-size:13px}
.og-toast{bottom:24px}
}
@media(max-width:359px){.og-header-cta{display:none}.og-place-info{padding-inline:9px}.og-card-topline>span:last-child{display:none}.og-tally>div{padding-inline:10px}.og-digit{width:21px;height:30px;font-size:20px}}
