/* Lodge — safari, écussons cousus (compact mobile) */
.tpl-lodge { --radius: 14px; --ochre: var(--accent); background-image: radial-gradient(color-mix(in srgb, var(--text) 4%, transparent) 1px, transparent 1px); background-size: 6px 6px; }
.ld-hero { position: relative; height: 206px; background-size: cover; background-position: center 60%; display: flex; align-items: flex-end; justify-content: center; animation: ldIn 1.2s var(--ease) both; }
@keyframes ldIn { from { opacity: 0; } }
.ld-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, transparent 30%, rgba(10,16,12,.55)), linear-gradient(180deg, rgba(10,16,12,.2), transparent 40%, var(--bg)); }
.ld-shield { position: relative; margin-bottom: -38px; width: 76px; height: 88px; display: grid; place-items: center; overflow: hidden; background: var(--ochre); color: var(--bg); font-family: var(--display); font-weight: 700; font-size: 1.35rem; letter-spacing: .05em; clip-path: polygon(50% 0, 100% 14%, 100% 62%, 50% 100%, 0 62%, 0 14%); animation: logoIn .9s var(--spring) both .3s; }
@keyframes logoIn { from { opacity: 0; transform: translateY(20px) scale(.8); } }
.ld-shield img { width: 100%; height: 100%; object-fit: cover; }
.ld-id { padding: 2.9rem 1.2rem 0; text-align: center; }
.ld-kicker { font-family: var(--body); font-style: italic; font-size: .9rem; color: var(--ochre); }
.ld-name { margin-top: .25rem; font-family: var(--display); font-weight: 700; font-size: clamp(1.6rem, 8vw, 2.05rem); letter-spacing: .13em; text-transform: uppercase; line-height: 1.08; text-wrap: balance; }
.ld-compass { width: 112px; height: 22px; margin: .6rem auto; color: var(--ochre); }
.ld-tag { color: color-mix(in srgb, var(--text) 72%, transparent); font-style: italic; font-size: .9rem; }
.ld-point { display: inline-block; margin-top: .7rem; padding: .32rem .85rem; border: 1.5px dashed var(--ochre); border-radius: 6px; font-family: var(--display); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; font-size: .72rem; color: var(--ochre); }
.ld-welcome { padding: .9rem 1.6rem 0; text-align: center; font-style: italic; font-size: .9rem; line-height: 1.45; color: color-mix(in srgb, var(--text) 75%, transparent); }
.ld-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; padding: 1rem 1rem 0; }
.ld-patch { position: relative; display: grid; justify-items: center; gap: .2rem; padding: 1rem .6rem .85rem; text-align: center; border-radius: 14px; background: linear-gradient(160deg, var(--surface), color-mix(in srgb, var(--surface) 78%, #000)); box-shadow: 0 10px 20px -14px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.05); transition: transform .2s var(--ease); }
.ld-patch::after { content: ''; position: absolute; inset: 5px; border: 1.5px dashed color-mix(in srgb, var(--ochre) 42%, transparent); border-radius: 10px; pointer-events: none; }
.ld-patch:first-child { grid-column: 1 / -1; grid-template-columns: auto 1fr; justify-items: start; text-align: left; column-gap: .85rem; align-items: center; padding: .95rem 1.1rem; background: linear-gradient(135deg, var(--ochre), color-mix(in srgb, var(--ochre) 65%, #6b3f12)); color: #1a130a; }
.ld-patch:first-child .ld-ico { grid-row: span 2; margin: 0; }
.ld-patch:first-child::after { border-color: rgba(26,19,10,.35); }
.ld-patch:active { transform: scale(.97); }
.ld-ico { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: .25rem; border-radius: 50%; border: 1.5px solid var(--ochre); color: var(--ochre); }
.ld-patch:first-child .ld-ico { border-color: currentColor; color: inherit; }
.ld-ico svg { width: 21px; height: 21px; }
.ld-patch b { font-family: var(--display); font-weight: 700; font-size: .84rem; letter-spacing: .09em; text-transform: uppercase; line-height: 1.2; }
.ld-patch small { font-size: .74rem; font-style: italic; opacity: .72; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ld-patch:first-child b { font-size: .98rem; }
.tpl-lodge .cs-btn:not(.cs-btn-ghost):not(.cs-btn-google) { color: #1a130a; font-family: var(--display); letter-spacing: .12em; text-transform: uppercase; }
.tpl-lodge .menu-cat.is-active { color: #1a130a; }
.tpl-lodge .sheet-title, .tpl-lodge .menu-sec-title, .tpl-lodge .sheet-head h2 { text-transform: uppercase; letter-spacing: .1em; font-size: 1.25rem; }
.tpl-lodge .cs-dock { border-radius: 14px; background: rgba(28,40,32,.9); border: 1.5px dashed color-mix(in srgb, var(--ochre) 50%, transparent); }
.tpl-lodge .cs-dock a { font-family: var(--display); text-transform: uppercase; letter-spacing: .06em; font-size: .6rem; border-radius: 10px; }
.tpl-lodge .cs-dock a.is-main { color: #1a130a; }
