/* Promociones only. Site chrome, typography and detail action colors stay shared. */
html { scroll-behavior:smooth; background:#fff; }
body { margin:0; background:#fff; }
#tm-site .tm-promotions-page { background:#fff; overflow:clip; }
#tm-site .prm-hero { position:relative; isolation:isolate; color:#fff; background:#062d56 url('/assets/tm-promotions-hero.webp') center 18% / cover no-repeat; }
#tm-site .prm-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(2,30,54,.84),rgba(3,46,72,.48) 48%,rgba(3,42,65,.08)); }
#tm-site .prm-hero-inner { padding-block:50px 88px; }
#tm-site .prm-hero-copy { max-width:720px; }
#tm-site .prm-eyebrow { display:inline-flex; align-items:center; gap:9px; margin:0 0 17px; padding:7px 13px; border:1px solid #ffffff70; border-radius:100px; background:#062d563b; font-size:13px; font-weight:800; }
#tm-site .prm-eyebrow .tm-icon { color:#8ff1e5; width:17px; font-size:16px; }
#tm-site .prm-hero h1 { margin:0; color:#fff; font-size:clamp(42px,5.2vw,69px); line-height:1.07; font-weight:800; letter-spacing:-.055em; }
#tm-site .prm-hero h1 span { color:#8ff1e5; }
#tm-site .prm-hero-copy > p:not(.prm-eyebrow) { max-width:630px; margin:17px 0 24px; color:#f1fbfd; font-size:17px; font-weight:700; line-height:1.55; }
#tm-site .prm-hero-actions { display:flex; flex-wrap:wrap; gap:11px; }
#tm-site .prm-hero-actions a { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:11px 17px; border-radius:10px; font-size:14px; font-weight:800; }
#tm-site .prm-primary { color:#fff; background:var(--tm-action-primary); box-shadow:0 6px 16px #07365a20; }
#tm-site .prm-primary:hover { background:var(--tm-action-primary-hover); }
#tm-site .prm-hero-secondary { color:#fff; border:1px solid #ffffff90; background:#ffffff15; }
#tm-site .prm-hero-secondary:hover { background:#ffffff2e; }
#tm-site .prm-hero-actions .tm-icon { width:17px; height:17px; font-size:16px; }
#tm-site .prm-finder { position:relative; margin-top:-37px; }
#tm-site .prm-filter-panel { padding:24px 26px; border:1px solid #dbe8ee; border-radius:16px; background:#fff; box-shadow:0 10px 30px #0934540e; }
#tm-site .prm-filter-heading { display:flex; align-items:center; gap:13px; margin-bottom:20px; }
#tm-site .prm-heading-icon { display:flex; align-items:center; justify-content:center; flex:none; width:46px; height:46px; border-radius:12px; background:#e8f6fa; color:#087f98; }
#tm-site .prm-filter-heading h2 { margin:0; color:#0a3554; font-size:23px; line-height:1.2; font-weight:800; }
#tm-site .prm-filter-heading p { margin:5px 0 0; color:#536b7c; font-size:15px; }
#tm-site .prm-clear { display:inline-flex; align-items:center; justify-content:center; flex:none; gap:7px; min-height:38px; padding:8px 11px; border:1px solid #d9e5ec; border-radius:8px; background:#f5fafc; color:#3e6078; font-size:13px; font-weight:800; cursor:pointer; }
#tm-site .prm-clear:hover { background:#eaf4f8; }
#tm-site .prm-clear .tm-icon { width:14px; height:14px; font-size:13px; }
#tm-site .prm-filter-heading > .prm-clear { margin-left:auto; }
#tm-site .prm-query-label,#tm-site .prm-field > span { display:block; margin-bottom:7px; color:#244a63; font-size:14px; font-weight:800; }
#tm-site .prm-search-bar { display:flex; align-items:center; gap:10px; min-width:0; padding:5px 5px 5px 14px; border:1px solid #b9d3df; border-radius:11px; background:#fff; }
#tm-site .prm-search-bar:focus-within { border-color:#0a75cf; box-shadow:0 0 0 3px #0a75cf12; }
#tm-site .prm-search-bar > .tm-icon { width:19px; font-size:17px; color:#678397; }
#tm-site .prm-search-bar input { flex:1; min-width:0; width:100%; min-height:43px; padding:0 3px; border:0; background:transparent; outline:none; color:#173b56; font-size:16px; }
#tm-site .prm-search-bar input::placeholder { color:#657d90; opacity:1; }
#tm-site .prm-search-bar button { display:inline-flex; align-items:center; justify-content:center; flex:none; gap:8px; min-height:43px; padding:10px 22px; border:0; border-radius:8px; background:var(--tm-action-primary); color:#fff; font-size:15px; font-weight:800; cursor:pointer; }
#tm-site .prm-search-bar button:hover { background:var(--tm-action-primary-hover); }
#tm-site .prm-search-bar button .tm-icon { width:16px; height:16px; font-size:14px; }
#tm-site .prm-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-top:17px; }
#tm-site .prm-field { min-width:0; }
#tm-site .prm-field :is(input,select) { width:100%; min-width:0; height:46px; padding:0 12px; border:1px solid #cadce5; border-radius:9px; background:#fff; color:#173b56; font-size:15px; font-weight:700; }
#tm-site .prm-quick { display:flex; align-items:center; gap:17px; padding-top:20px; }
#tm-site .prm-quick > strong { flex:none; color:#163e5a; font-size:14px; font-weight:800; }
#tm-site .prm-quick-list { display:flex; flex-wrap:wrap; gap:9px; }
#tm-site .prm-quick-list button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:9px 12px; border:1px solid #dce8ee; border-radius:9px; background:#f5fafc; color:#315d75; font-size:13px; font-weight:800; cursor:pointer; white-space:nowrap; }
#tm-site .prm-quick-list .tm-icon { width:16px; height:16px; font-size:14px; color:#0a8aa5; }
#tm-site .prm-quick-list button:hover,#tm-site .prm-quick-list button[aria-pressed="true"] { border-color:#0a90b5; background:#e9f7fc; color:#096787; }
#tm-site .prm-results { min-height:22px; margin:12px 0 0; font-size:13px; color:#577186; }
#tm-site :is(.prm-featured,.prm-list,.prm-how) { scroll-margin-top:115px; }
#tm-site .prm-featured { padding-block:38px 57px; }
#tm-site .prm-section-head { margin-bottom:24px; }
#tm-site .prm-kicker { margin:0 0 7px; color:#008c9e; font-size:14px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
#tm-site .prm-section-head h2 { margin:0; color:#092e50; font-size:clamp(27px,3vw,36px); font-weight:800; letter-spacing:-.035em; line-height:1.2; }
#tm-site .prm-section-head > p:not(.prm-kicker) { margin:9px 0 0; color:#536b7c; font-size:17px; line-height:1.6; }

#tm-site .prm-pagination,#tm-site #prm-page-numbers { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px; }
#tm-site .prm-pagination { margin-top:25px; }
#tm-site .prm-pagination button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-width:42px; min-height:42px; padding:8px 12px; border:1px solid #cddfe8; border-radius:8px; background:#fff; color:#37647e; font-size:13px; font-weight:800; cursor:pointer; }
#tm-site .prm-pagination button[aria-current="page"] { border-color:var(--tm-action-primary); background:var(--tm-action-primary); color:#fff; }
#tm-site .prm-pagination button:disabled { opacity:.45; cursor:default; }
#tm-site .prm-pagination .tm-icon { width:12px; height:12px; font-size:11px; }

#tm-site .prm-empty { padding:28px; text-align:center; border:1px dashed #ccdee8; border-radius:12px; background:#f6fafc; }
#tm-site .prm-empty > .tm-icon { color:#078bb3; width:34px; height:34px; font-size:30px; }
#tm-site .prm-empty h3 { margin:10px 0 7px; color:#163b56; font-size:20px; }
#tm-site .prm-empty p { margin:0 auto 15px; color:#587488; max-width:600px; font-size:15px; }
#tm-site .prm-empty button { padding:10px 14px; min-height:44px; border:1px solid var(--tm-action-primary); border-radius:9px; background:var(--tm-action-primary); color:#fff; font-size:14px; font-weight:800; cursor:pointer; }

#tm-site .prm-note { display:flex; align-items:flex-start; gap:15px; margin-block:40px 0; padding:22px 24px; border:1px solid #d7e9f1; border-radius:12px; background:#eff8fc; }
#tm-site .prm-note-icon { display:flex; align-items:center; justify-content:center; flex:none; width:40px; height:40px; border-radius:10px; background:#def0f8; color:#087da7; }
#tm-site .prm-note h2 { margin:0 0 6px; color:#234c64; font-size:17px; font-weight:800; }
#tm-site .prm-note p { margin:0; color:#526f82; font-size:15px; line-height:1.65; }
#tm-site .prm-merchant { display:grid; grid-template-columns:52px minmax(0,1fr) 257px; align-items:center; gap:22px; margin-top:34px; padding:31px; border:1px solid #d1e7ef; border-radius:16px; background:linear-gradient(115deg,#edf9fc,#f5fbff); }
#tm-site .prm-merchant-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:13px; background:#dff3f9; color:#0786ad; }
#tm-site .prm-merchant-icon .tm-icon { width:29px; height:29px; }
#tm-site .prm-merchant h2 { margin:0 0 10px; color:#123d5b; font-size:26px; line-height:1.3; font-weight:800; letter-spacing:-.025em; }
#tm-site .prm-merchant-copy > p:not(.prm-kicker) { margin:0; color:#506b7e; font-size:15px; line-height:1.65; }
#tm-site .prm-merchant-points { display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:17px; }
#tm-site .prm-merchant-points span { display:inline-flex; align-items:center; gap:6px; color:#416479; font-size:12px; font-weight:800; }
#tm-site .prm-merchant-points .tm-icon { width:14px; height:14px; font-size:12px; color:#078bb3; }
#tm-site .prm-merchant-actions { display:grid; gap:10px; }
#tm-site .prm-merchant-actions button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:11px 13px; border-radius:10px; font-size:13px; font-weight:800; cursor:pointer; }
#tm-site .prm-publish-primary { border:1px solid var(--tm-action-orange); background:var(--tm-action-orange); color:#fff; }
#tm-site .prm-publish-primary:hover { background:var(--tm-action-orange-hover); }
#tm-site .prm-publish-secondary { border:1px solid var(--tm-action-detail); background:#fff; color:var(--tm-action-soft-ink); }
#tm-site .prm-publish-secondary:hover { background:var(--tm-action-soft-hover); }
#tm-site .prm-merchant-actions .tm-icon { width:16px; height:16px; font-size:14px; }

/* Promotion cards: benefit, business, conditions and actions share aligned slots. */
#tm-site .prm-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
#tm-site .prm-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #deebf0; border-radius:16px; background:#fff; box-shadow:0 5px 18px #08344f0a; }
#tm-site .prm-card-image { position:relative; height:193px; overflow:hidden; }
#tm-site .prm-card-image > img { width:100%; height:100%; object-fit:cover; }
#tm-site .prm-featured-badge { position:absolute; right:12px; top:12px; display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:8px; background:linear-gradient(115deg,#ff692e,#ec502d); color:#fff; font-size:12px; line-height:1.2; font-weight:800; box-shadow:0 3px 10px #71340a25; }
#tm-site .prm-featured-badge .tm-icon { width:14px; height:14px; font-size:12px; }
#tm-site .prm-benefit { position:absolute; bottom:13px; left:14px; min-width:102px; padding:11px 16px 12px; border:1px solid #ffffffa6; border-radius:12px; background:#fffffff2; color:#0b70a3; box-shadow:0 4px 18px #041c3819; }
#tm-site .prm-benefit strong { display:block; font-size:36px; line-height:1.05; font-weight:800; letter-spacing:-.04em; }
#tm-site .prm-benefit > span { display:block; margin-top:4px; font-size:12px; line-height:1.3; font-weight:800; }
#tm-site .prm-benefit-2x1 { color:#bf4c3c; }
#tm-site .prm-benefit-cupon { color:#a86b13; }
#tm-site .prm-benefit-paquete { color:#008779; }
#tm-site .prm-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:19px 20px 20px; }
#tm-site .prm-card-labels { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; width:100%; }
#tm-site .prm-label { display:inline-flex; align-items:center; gap:6px; max-width:100%; padding:5px 8px; border-radius:7px; font-size:12px; font-weight:800; line-height:1.4; }
#tm-site .prm-label .tm-icon { width:15px; height:15px; font-size:13px; }
#tm-site .prm-tone-blue { color:#087ba7; background:#e4f4fc; }
#tm-site .prm-tone-aqua { color:#008779; background:#e0f7f1; }
#tm-site .prm-tone-coral { color:#b9513e; background:#ffede7; }
#tm-site .prm-tone-violet { color:#7952b8; background:#f0eaff; }
#tm-site .prm-tone-orange { color:#a96712; background:#fff3d7; }
#tm-site .prm-type { color:#657d90; font-size:12px; font-weight:800; }
#tm-site .prm-card h3 { min-height:27px; margin:11px 0 8px; color:#123b58; font-size:21px; font-weight:800; line-height:1.25; letter-spacing:-.02em; }
#tm-site .prm-business { display:flex; align-items:center; gap:7px; min-height:20px; margin:0 0 10px; color:#416981; font-size:13px; font-weight:800; }
#tm-site .prm-business .tm-icon { width:14px; height:14px; font-size:12px; color:#087f98; }
#tm-site .prm-card-description { min-height:52px; margin:0 0 16px; color:#536b7c; font-size:16px; line-height:1.6; }
#tm-site .prm-card-facts { display:grid; gap:8px; margin:0 0 18px; padding-top:13px; width:100%; border-top:1px solid #e6eef3; }
#tm-site .prm-card-facts > span { display:flex; align-items:center; gap:7px; color:#4c6b7e; font-size:13px; }
#tm-site .prm-card-facts .tm-icon { width:15px; height:15px; font-size:13px; color:#078bb3; }
#tm-site .prm-card-facts .prm-status.is-ending { color:#a85a17; }
#tm-site .prm-card-button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; margin-top:auto; padding:10px 16px; border:1px solid var(--tm-action-detail); border-radius:10px; background:var(--tm-action-detail); color:#fff; box-shadow:0 5px 12px #008eb616; font-size:14px; font-weight:800; cursor:pointer; }
#tm-site .prm-card-button:hover { background:var(--tm-action-detail-hover); }
#tm-site .prm-card-button .tm-icon { width:16px; height:16px; font-size:13px; }
#tm-site .prm-list { padding-block:48px; border-block:1px solid #e4eef3; background:#f5fafc; }
#tm-site .prm-list-toolbar { display:grid; grid-template-columns:1.4fr 1.1fr 1fr 1fr; gap:13px; margin-bottom:20px; }
#tm-site .prm-list-summary { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:15px; }
#tm-site .prm-list-summary p { margin:0; color:#506d80; font-size:14px; }
#tm-site .prm-list-columns,#tm-site .prm-list-row { display:grid; grid-template-columns:minmax(0,1fr) 175px 162px 135px 161px; gap:17px; align-items:center; }
#tm-site .prm-list-columns { padding:0 20px 11px; color:#688194; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.025em; }
#tm-site .prm-list-rows { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
#tm-site .prm-list-row { min-width:0; padding:16px 20px; border:1px solid #dce9f0; border-radius:11px; background:#fff; }
#tm-site .prm-list-name h3 { margin:0 0 5px; color:#163a54; font-size:16px; font-weight:800; line-height:1.35; }
#tm-site .prm-list-name p { display:flex; align-items:center; gap:6px; margin:0; color:#6b7f8e; font-size:12px; line-height:1.4; }
#tm-site .prm-list-name .tm-icon { width:13px; height:13px; font-size:11px; color:#568399; }
#tm-site .prm-list-type { display:block; margin-top:5px; color:#688294; font-size:12px; }
#tm-site .prm-list-validity { color:#577488; font-size:12px; line-height:1.5; }
#tm-site .prm-list-zone { display:flex; align-items:center; gap:6px; color:#527084; font-size:13px; line-height:1.4; }
#tm-site .prm-list-zone .tm-icon { width:14px; height:14px; font-size:12px; color:#0a75cf; }
#tm-site .prm-phone { display:inline-flex; align-items:center; justify-content:center; justify-self:start; gap:7px; min-height:40px; padding:8px 10px; border:1px solid #d4e8ee; border-radius:8px; background:#eff8fb; color:#087993; font-size:13px; font-weight:800; white-space:nowrap; }
#tm-site .prm-phone:hover { background:#e0f1f7; }
#tm-site .prm-phone .tm-icon { width:15px; height:15px; font-size:13px; }
#tm-site .prm-how { padding-block:53px 0; }
#tm-site .prm-how-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0; padding:0; list-style:none; }
#tm-site .prm-how-grid li { display:flex; align-items:flex-start; gap:13px; min-width:0; }
#tm-site .prm-step-icon { display:flex; align-items:center; justify-content:center; flex:none; width:42px; height:42px; border-radius:11px; }
#tm-site .prm-step-icon .tm-icon { width:21px; height:21px; font-size:19px; }
#tm-site .prm-how-grid h3 { margin:0 0 7px; color:#234c64; font-size:17px; font-weight:800; }
#tm-site .prm-how-grid p { margin:0; color:#5a7487; font-size:15px; line-height:1.65; }
#tm-site .prm-faq { padding-block:62px 54px; }
#tm-site .prm-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:14px; }
#tm-site .prm-faq details { border:1px solid #dbe8ef; border-radius:12px; background:#fff; }
#tm-site .prm-faq summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:18px 20px; color:#234c64; font-size:16px; font-weight:800; cursor:pointer; list-style:none; }
#tm-site .prm-faq summary::-webkit-details-marker { display:none; }
#tm-site .prm-faq summary .tm-icon { width:15px; height:15px; font-size:13px; color:#0a75cf; }
#tm-site .prm-faq details[open] summary .tm-icon { transform:rotate(45deg); }
#tm-site .prm-faq details p { margin:0; padding:0 20px 20px; color:#5b7588; font-size:15px; line-height:1.65; }
#tm-site .prm-dialog { width:min(830px,calc(100% - 32px)); max-height:calc(100dvh - 36px); margin:auto; padding:0; border:0; border-radius:17px; background:#fff; color:#173b56; overflow:auto; box-shadow:0 24px 80px #041c3840; }
#tm-site .prm-dialog::backdrop { background:#031b38aa; }
#tm-site .prm-dialog-close { position:absolute; z-index:1; top:13px; right:13px; display:flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:1px solid #fff8; border-radius:10px; background:#fff; color:#264c64; box-shadow:0 3px 12px #04274516; cursor:pointer; }
#tm-site .prm-dialog-image { position:relative; }
#tm-site .prm-dialog-image img { width:100%; height:225px; object-fit:cover; }
#tm-site .prm-dialog-image .prm-featured-badge { left:19px; right:auto; bottom:16px; top:auto; }
#tm-site .prm-dialog-content { padding:25px 30px 29px; }
#tm-site .prm-dialog-content h2 { margin:0 0 10px; color:#123b58; font-size:31px; line-height:1.2; font-weight:800; letter-spacing:-.03em; }
#tm-site .prm-dialog-business { margin:0 0 18px; color:#466c84; font-size:16px; font-weight:800; }
#tm-site .prm-dialog-benefit { display:flex; align-items:center; gap:13px; padding:18px; border:1px solid #cde5ee; border-radius:12px; background:#edf9fc; color:#0a718c; }
#tm-site .prm-dialog-benefit > .tm-icon { width:30px; height:30px; font-size:28px; }
#tm-site .prm-dialog-benefit strong { display:block; font-size:25px; line-height:1.25; font-weight:800; }
#tm-site .prm-dialog-benefit span { display:block; margin-top:5px; color:#4b6f83; font-size:14px; }
#tm-site #prm-dialog-description { margin:17px 0 0; color:#587085; font-size:16px; line-height:1.65; }
#tm-site .prm-dialog-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-block:20px 12px; }
#tm-site .prm-dialog-facts > div { display:flex; align-items:flex-start; gap:8px; padding:13px 11px; border:1px solid #d8e8ef; border-radius:11px; background:#f5fafc; }
#tm-site .prm-dialog-facts .tm-icon { flex:none; width:17px; height:17px; margin-top:3px; color:#087f98; font-size:15px; }
#tm-site .prm-dialog-facts small { display:block; margin-bottom:5px; color:#647b8b; font-size:12px; font-weight:700; }
#tm-site .prm-dialog-facts strong { display:block; color:#234d65; font-size:14px; line-height:1.45; font-weight:800; }
#tm-site .prm-dialog-state { margin:0; padding:9px 12px; border-left:3px solid #0a75cf; border-radius:5px; background:#f2f8fc; color:#4e6d82; font-size:13px; line-height:1.5; }
#tm-site .prm-dialog-state.is-unavailable { border-color:#bb6137; background:#fff5ee; color:#96613d; }
#tm-site .prm-dialog-content h3 { margin:22px 0 12px; font-size:18px; color:#234d65; }
#tm-site .prm-dialog-list { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
#tm-site .prm-dialog-list li { display:flex; align-items:flex-start; gap:9px; color:#516e81; font-size:15px; line-height:1.6; }
#tm-site .prm-dialog-list .tm-icon { width:16px; height:16px; margin-top:4px; color:#078bb3; font-size:13px; }
#tm-site .prm-redeem-list { display:grid; gap:8px; margin:0; padding-left:23px; color:#516e81; font-size:15px; line-height:1.6; }
#tm-site .prm-redeem-list li { padding-left:4px; }
#tm-site .prm-redeem-list li::marker { color:#0a75cf; font-weight:800; }
#tm-site .prm-coupon { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:22px; padding:17px 19px; border:1px dashed #b9dae8; border-radius:12px; background:#f0f9fd; }
#tm-site .prm-coupon small { display:block; color:#5b7c91; font-size:12px; font-weight:800; }
#tm-site .prm-coupon strong { display:block; margin-top:3px; color:#123b58; font-size:21px; font-weight:800; letter-spacing:.03em; }
#tm-site .prm-coupon p { margin:6px 0 0; max-width:400px; color:#5a768b; font-size:13px; line-height:1.5; }
#tm-site .prm-coupon button { display:inline-flex; align-items:center; justify-content:center; flex:none; gap:7px; min-height:43px; padding:10px 13px; border:1px solid var(--tm-action-detail); border-radius:9px; background:var(--tm-action-detail); color:#fff; font-size:13px; font-weight:800; cursor:pointer; }
#tm-site .prm-coupon button:disabled { opacity:.5; cursor:default; }
#tm-site .prm-coupon button .tm-icon { width:15px; height:15px; font-size:13px; }
#tm-site .prm-dialog-address { display:flex; align-items:flex-start; gap:10px; margin-block:23px 13px; padding:15px; border:1px solid #dce8ef; border-radius:10px; background:#f8fbfd; font-style:normal; font-size:14px; color:#557085; }
#tm-site .prm-dialog-address > .tm-icon { flex:none; margin-top:4px; width:18px; font-size:16px; color:#0a75cf; }
#tm-site .prm-dialog-address :is(strong,span) { display:block; }
#tm-site .prm-dialog-address strong { margin-bottom:5px; color:#234d65; }
#tm-site .prm-dialog-contact-label { margin:20px 0 9px; font-size:13px; font-weight:800; color:#365e78; }
#tm-site .prm-dialog-contact { display:flex; flex-wrap:wrap; gap:9px 18px; margin-bottom:20px; }
#tm-site .prm-dialog-contact a { display:inline-flex; align-items:center; gap:7px; max-width:100%; color:#087993; font-size:14px; overflow-wrap:anywhere; }
#tm-site .prm-dialog-contact .tm-icon { width:16px; height:16px; font-size:14px; }
#tm-site .prm-dialog-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
#tm-site .prm-dialog-actions > :is(a,button) { padding:11px 16px; cursor:pointer; }
#tm-site .prm-noscript { padding-block:15px; color:#647c8d; font-size:14px; }
@media(max-width:1050px) {
  #tm-site .prm-card h3 { min-height:53px; }
  #tm-site .prm-list-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #tm-site .prm-list-columns,#tm-site .prm-list-row { grid-template-columns:minmax(0,1fr) 165px 150px 161px; gap:13px; }
  #tm-site .prm-list-columns > span:nth-child(4) { display:none; }
  #tm-site .prm-list-zone { grid-column:1; grid-row:2; }
  #tm-site .prm-list-row > div:nth-child(2),#tm-site .prm-list-validity { grid-row:1 / span 2; }
  #tm-site .prm-phone { grid-column:4; grid-row:1 / span 2; }
  #tm-site .prm-merchant { grid-template-columns:minmax(0,1fr) 250px; gap:22px; padding:28px; }
  #tm-site .prm-merchant-icon { display:none; }
}
@media(max-width:780px) {
  #tm-site .prm-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #tm-site .prm-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #tm-site .prm-quick { align-items:flex-start; flex-direction:column; gap:10px; }
  #tm-site .prm-list-columns { display:none; }
  #tm-site .prm-list-row { grid-template-columns:minmax(0,1fr) 162px; gap:8px 15px; }
  #tm-site .prm-list-name { grid-column:1/-1; grid-row:1; }
  #tm-site .prm-list-row > div:nth-child(2) { grid-column:1; grid-row:2; }
  #tm-site .prm-list-zone { grid-column:1; grid-row:3; }
  #tm-site .prm-list-validity { grid-column:1; grid-row:4; }
  #tm-site .prm-phone { grid-column:2; grid-row:2 / span 3; }
  #tm-site .prm-merchant { grid-template-columns:1fr; }
  #tm-site .prm-merchant-actions { display:flex; flex-wrap:wrap; }
  #tm-site .prm-how-grid { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:580px) {
  #tm-site .prm-hero { background-position:68% center; }
  #tm-site .prm-hero-inner { padding-block:42px 77px; }
  #tm-site .prm-hero::before { background:linear-gradient(90deg,#021e36dc,#032e7280); }
  #tm-site .prm-hero h1 { font-size:clamp(38px,9.6vw,51px); }
  #tm-site .prm-hero-copy > p:not(.prm-eyebrow) { font-size:16px; }
  #tm-site .prm-hero-actions a { width:100%; }
  #tm-site .prm-filter-panel { padding:20px 17px; }
  #tm-site .prm-filter-heading { flex-wrap:wrap; gap:10px; }
  #tm-site .prm-heading-icon { width:39px; height:39px; }
  #tm-site .prm-filter-heading > div { flex:1; }
  #tm-site .prm-filter-heading h2 { font-size:20px; }
  #tm-site .prm-filter-heading p { font-size:13px; }
  #tm-site .prm-filter-heading > .prm-clear { margin:2px 0 0 49px; }
  #tm-site .prm-search-bar { padding-left:10px; gap:6px; }
  #tm-site .prm-search-bar > .tm-icon { display:none; }
  #tm-site .prm-search-bar button { padding:10px 12px; font-size:14px; }
  #tm-site .prm-search-bar input { font-size:14px; }
  #tm-site .prm-field :is(input,select) { font-size:14px; padding-inline:9px; }
  #tm-site .prm-field > span { font-size:13px; }
  #tm-site .prm-card-grid { grid-template-columns:1fr; }
  #tm-site .prm-card h3,#tm-site .prm-card-description { min-height:0; }
  #tm-site .prm-featured { padding-block:32px 40px; }
  #tm-site .prm-list { padding-block:38px; }
  #tm-site .prm-list-toolbar { grid-template-columns:1fr 1fr; }
  #tm-site .prm-list-toolbar > label:first-child, #tm-site .prm-list-toolbar > label:last-child { grid-column:1 / -1; }
  #tm-site .prm-list-row { grid-template-columns:1fr; padding:17px; gap:9px; }
  #tm-site .prm-list-name,#tm-site .prm-list-row > div:nth-child(2),#tm-site .prm-list-zone,#tm-site .prm-list-validity,#tm-site .prm-phone { grid-column:1; grid-row:auto; }
  #tm-site .prm-list-row > div:nth-child(2) { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
  #tm-site .prm-list-type { margin:0; }
  #tm-site .prm-list-summary { align-items:flex-start; }
  #tm-site .prm-list-summary .prm-clear { font-size:12px; padding-inline:8px; }
  #tm-site .prm-pagination button { padding-inline:9px; min-width:38px; font-size:12px; }
  #tm-site .prm-note { margin-top:32px; padding:19px 17px; gap:12px; }
  #tm-site .prm-note-icon { width:32px; height:32px; }
  #tm-site .prm-note p { font-size:14px; }
  #tm-site .prm-merchant { padding:24px 21px; }
  #tm-site .prm-merchant h2 { font-size:24px; }
  #tm-site .prm-merchant-actions { display:grid; }
  #tm-site .prm-faq { padding-block:52px 45px; }
  #tm-site .prm-faq-grid { grid-template-columns:1fr; }
  #tm-site .prm-dialog-content { padding:22px 20px; }
  #tm-site .prm-dialog-content h2 { font-size:25px; }
  #tm-site .prm-dialog-facts { grid-template-columns:1fr; }
  #tm-site .prm-dialog-image > img { height:180px; }
  #tm-site .prm-dialog-benefit { gap:10px; padding:15px; }
  #tm-site .prm-dialog-benefit > .tm-icon { width:24px; font-size:22px; }
  #tm-site .prm-dialog-benefit strong { font-size:22px; }
  #tm-site .prm-coupon { flex-direction:column; align-items:flex-start; }
  #tm-site .prm-dialog-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  #tm-site .prm-dialog .prm-dialog-actions > :is(a,button) { min-width:0; padding:10px 9px; gap:6px; font-size:13px; }
  #tm-site .prm-dialog .prm-dialog-actions .tm-icon { width:16px; height:16px; font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }


#tm-site .prm-results:empty { display:none; }
