/* Scoped frontend styles; no global theme or dashboard overrides. */
.tzmp, .tzmp * { box-sizing: border-box; }
.tzmp { color:#293c35; font:18px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; overflow-wrap:anywhere; }
.tzmp.tp-body { margin:0; background:#faf8f3; }
.tzmp a { color:#184e43; text-underline-offset:4px; }
.tzmp h1,.tzmp h2,.tzmp h3 { color:#184e43; line-height:1.25; margin:0 0 18px; text-transform:none; letter-spacing:normal; }
.tzmp h1 { font:normal clamp(32px,4vw,46px)/1.15 Georgia,serif; }
.tzmp h2 { font-size:26px; }.tzmp h3 { font-size:22px; }
.tzmp p { margin:0 0 18px; font-size:inherit; line-height:inherit; }.tzmp small { font-size:14px; }
.tzmp .tp-header { max-width:1180px; margin:auto; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #dce3da; }
.tzmp .tp-brand { font:24px/1.3 Georgia,serif; text-decoration:none; }.tzmp .tp-brand small { display:block; font:12px/1.6 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.tzmp nav { display:flex; flex-wrap:wrap; gap:12px; }.tzmp nav a { min-height:44px; display:inline-flex; align-items:center; padding:6px; }
.tzmp .tp-main { max-width:1132px; padding:40px 24px; margin:auto; }.tzmp .tp-card { background:#fff; padding:26px; border:1px solid #dce3da; border-radius:16px; min-width:0; }
.tzmp .tp-login { max-width:580px; margin:20px auto; padding:36px; }.tzmp .tp-eyebrow { font-size:12px; letter-spacing:.12em; color:#52695d; font-weight:700; }
.tzmp label { display:block; }.tzmp input:not([type=checkbox]):not([type=hidden]):not([type=submit]), .tzmp select,.tzmp textarea { max-width:100%; width:100%; min-height:52px; border:1px solid #778a80; border-radius:8px; padding:12px; color:#293c35; background:#fff; font:inherit; }
.tzmp input[type=checkbox] { width:22px; height:22px; margin:0 10px 0 0; vertical-align:middle; accent-color:#184e43; flex:none; }.tzmp input:read-only,.tzmp textarea:read-only { background:#f6f8f5; }
.tzmp .tp-button, .tzmp input[type=submit] { display:inline-flex; justify-content:center; align-items:center; min-height:52px; max-width:100%; padding:12px 20px; background:#184e43; color:#fff; border:2px solid #184e43; border-radius:9px; text-decoration:none; font:600 17px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; cursor:pointer; text-align:center; white-space:normal; }
.tzmp .tp-button:hover,.tzmp input[type=submit]:hover { background:#103c33; color:#fff; }.tzmp .tp-secondary { background:#fff; color:#184e43; }.tzmp .tp-secondary:hover { background:#eef3ec; color:#184e43; }
.tzmp :focus-visible { outline:3px solid #184e43; outline-offset:4px; }
.tzmp .tp-event-grid,.tzmp .tp-plan-grid,.tzmp .tp-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:24px 0; }.tzmp .tp-event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tzmp .tp-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0; }.tzmp .tp-stats strong { display:block; font-size:clamp(20px,2.4vw,29px); color:#184e43; }.tzmp .tp-stats span { display:block; font-size:16px; }
.tzmp .tp-section { margin:32px 0; scroll-margin-top:24px; }.tzmp .tp-toolbar,.tzmp .tp-tabs,.tzmp .tp-filters { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:22px 0; }.tzmp .tp-filters a { padding:10px 16px; min-height:46px; border:1px solid #c4d1c6; border-radius:30px; }.tzmp .tp-filters [aria-current] { background:#184e43; color:#fff; }
.tzmp .tp-note { font-size:15px; color:#52695d; }.tzmp .tp-notice { padding:18px 22px; margin:20px 0; border-left:4px solid #184e43; background:#edf2ec; border-radius:8px; }
.tzmp .tp-media { padding:16px; }.tzmp .tp-media img,.tzmp .tp-media video { display:block; width:100%; height:210px; object-fit:contain; background:#f0f3ee; border-radius:10px; }.tzmp .tp-select { min-height:44px; padding:8px 0; }.tzmp .tp-badge { display:inline-block; padding:4px 10px; font-size:14px; background:#edf2ec; border-radius:30px; }
.tzmp .tp-media-info { padding-top:16px; }.tzmp .tp-media-info p { margin:8px 0; font-size:15px; }.tzmp blockquote { margin:15px 0; padding:16px; background:#faf8f3; }.tzmp .tp-placeholder { padding:55px 20px; text-align:center; background:#edf2ec; }
.tzmp .tp-share-grid { display:grid; grid-template-columns:280px minmax(0,1fr); gap:30px; }.tzmp .tp-qr { max-width:260px; width:100%; margin-bottom:20px; }.tzmp .tp-qr canvas { display:block; width:100%; height:auto; }.tzmp .tp-share-grid textarea { margin:12px 0; }
.tzmp .tp-footer { padding:26px 24px 40px; text-align:center; font-size:15px; color:#52695d; }.tzmp .tp-footer a { display:inline-flex; align-items:center; min-height:44px; }
.tzmp .tp-skip { position:absolute; top:-120px; left:16px; padding:14px; background:#fff; z-index:1000; }.tzmp .tp-skip:focus { top:10px; }
.tzmp.tzm-offer { width:100%; max-width:1020px; margin:24px auto; }.tzmp .tp-organizer { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:24px 0 38px; padding:26px; background:#edf2ec; border-radius:16px; }.tzmp .tp-organizer p { margin:0; }.tzmp .tp-organizer .tp-button { flex-shrink:0; }.tzmp .tp-price { font:normal 29px/1.4 Georgia,serif; color:#184e43; }
@media(max-width:850px) { .tzmp .tp-gallery,.tzmp .tp-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.tzmp .tp-organizer { flex-direction:column; align-items:stretch; } }
@media(max-width:600px) { .tzmp .tp-header { padding:18px 16px; flex-direction:column; align-items:flex-start; gap:12px; }.tzmp .tp-main { padding:28px 16px; }.tzmp .tp-card { padding:20px; }.tzmp .tp-login { padding:24px 20px; margin:0; }.tzmp .tp-gallery,.tzmp .tp-event-grid,.tzmp .tp-plan-grid,.tzmp .tp-stats,.tzmp .tp-share-grid { grid-template-columns:1fr; }.tzmp .tp-stats { gap:12px; }.tzmp .tp-stats .tp-card { padding:16px 20px; }.tzmp .tp-gallery .tp-card { padding:16px; }.tzmp .tp-toolbar { align-items:stretch; }.tzmp .tp-toolbar>* { max-width:100%; }.tzmp .tp-tabs a { flex:1 1 140px; }.tzmp .tp-organizer { padding:22px 18px; }.tzmp .tp-qr { max-width:240px; }.tzmp .tp-media img,.tzmp .tp-media video { height:240px; } }
