/*
 * recipe-industry.css — styles for the industry-diversification recipes (listing/menu/schedule/code/
 * calculator/tour). Companion to layouts.css + recipe-variants.css (shared --apb-rx-* tokens loaded
 * first) + recipe-sections.css. Token-with-fallback, apb-rx-* namespace, no !important.
 */

/* ===================== listing_grid ===================== */
.apb-rx-listing{display:grid;gap:22px;grid-template-columns:repeat(var(--apb-rx-cols,4),minmax(0,1fr))}
.apb-rx-listing-card{background:var(--apb-rx-surface,#fff);border:var(--apb-rx-border,1px) solid var(--apb-rx-line,#e7e8ec);border-radius:var(--apb-rx-radius,16px);overflow:hidden;
  box-shadow:var(--apb-rx-shadow-1,0 1px 2px rgba(11,13,18,.05));transition:transform var(--apb-rx-t,.28s) var(--apb-rx-ease,ease),box-shadow var(--apb-rx-t,.28s) var(--apb-rx-ease,ease)}
.apb-rx-listing-card:hover{transform:translateY(-4px);box-shadow:var(--apb-rx-shadow-2,0 2px 6px rgba(11,13,18,.06),0 14px 34px -12px rgba(11,13,18,.22))}
.apb-rx-listing-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--color-gray-100,#f1f3f5)}
.apb-rx-listing-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--apb-rx-t-slow,.55s) var(--apb-rx-ease,ease)}
.apb-rx-listing-card:hover .apb-rx-listing-media img{transform:scale(1.05)}
.apb-rx-listing-media--ph{background:var(--color-gray-100,#f1f3f5)}
.apb-rx-listing-tag{position:absolute;top:10px;left:10px;background:rgba(11,13,18,.72);color:#fff;font-size:11px;font-weight:600;padding:4px 9px;border-radius:var(--apb-rx-radius-pill,999px);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.apb-rx-listing-body{padding:16px}
.apb-rx-listing-body h3{margin:0 0 8px;font-size:16px;font-weight:650;letter-spacing:-.01em}
.apb-rx-listing-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.apb-rx-listing-price{font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-listing-meta{font-size:13px;color:var(--apb-rx-muted,#5a6472)}
.apb-rx-listing--compact .apb-rx-listing-media{aspect-ratio:16/10}
.apb-rx-listing--compact .apb-rx-listing-body{padding:13px}
@media(max-width:860px){.apb-rx-listing{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.apb-rx-listing{grid-template-columns:1fr}}

/* ===================== menu_grid ===================== */
.apb-rx-menu{max-width:760px;margin-inline:auto;display:grid;gap:34px}
.apb-rx-menu--cards{max-width:980px;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 44px}
.apb-rx-menu-cat{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--apb-rx-accent-text,var(--apb-rx-brand,#4f46e5));margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--apb-rx-line,#e7e8ec)}
.apb-rx-menu-item{margin-bottom:16px}
.apb-rx-menu-item:last-child{margin-bottom:0}
.apb-rx-menu-row{display:flex;align-items:baseline;gap:8px}
.apb-rx-menu-name{font-weight:650;font-size:16px;letter-spacing:-.01em;color:var(--apb-rx-ink,#0b0d12);display:inline-flex;align-items:center;gap:8px}
.apb-rx-menu-lead{flex:1;border-bottom:1px dotted var(--apb-rx-line,#cfd3da);transform:translateY(-4px)}
.apb-rx-menu-price{font-weight:700;color:var(--apb-rx-ink,#0b0d12);white-space:nowrap}
.apb-rx-menu-desc{margin:3px 0 0;color:var(--apb-rx-muted,#5a6472);font-size:14px;line-height:1.5;max-width:54ch}
.apb-rx-menu-tag{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--apb-rx-accent-text,var(--apb-rx-brand,#4f46e5));background:var(--color-gray-100,#f1f3f5);padding:2px 7px;border-radius:var(--apb-rx-radius-pill,999px)}
@media(max-width:760px){.apb-rx-menu--cards{grid-template-columns:1fr}}

/* ===================== schedule ===================== */
.apb-rx-sched{max-width:820px;margin-inline:auto;display:grid;gap:30px}
.apb-rx-sched--grid{max-width:1100px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;align-items:start}
.apb-rx-sched-day{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--apb-rx-accent-text,var(--apb-rx-brand,#4f46e5));margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--apb-rx-line,#e7e8ec)}
.apb-rx-sched-row{display:flex;gap:18px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--color-gray-100,#eef0f4)}
.apb-rx-sched-row:last-child{border-bottom:0}
.apb-rx-sched-time{flex:none;width:96px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--apb-rx-accent-text,var(--apb-rx-brand,#4f46e5));font-size:14px}
.apb-rx-sched-body{display:flex;flex-direction:column;gap:2px}
.apb-rx-sched-title{font-weight:650;font-size:15.5px;color:var(--apb-rx-ink,#0b0d12);display:inline-flex;align-items:center;gap:8px}
.apb-rx-sched-meta{font-size:13px;color:var(--apb-rx-muted,#5a6472)}
.apb-rx-sched-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--apb-rx-accent-text,var(--apb-rx-brand,#4f46e5));background:var(--color-gray-100,#f1f3f5);padding:2px 7px;border-radius:var(--apb-rx-radius-pill,999px)}
.apb-rx-sched--grid .apb-rx-sched-group{background:var(--apb-rx-surface,#fff);border:var(--apb-rx-border,1px) solid var(--apb-rx-line,#e7e8ec);border-radius:var(--apb-rx-radius,14px);padding:18px;box-shadow:var(--apb-rx-shadow-1,0 1px 2px rgba(11,13,18,.05))}
.apb-rx-sched--grid .apb-rx-sched-row{flex-direction:column;gap:2px;align-items:flex-start}
.apb-rx-sched--grid .apb-rx-sched-time{width:auto}
@media(max-width:560px){.apb-rx-sched-row{flex-direction:column;gap:2px}.apb-rx-sched-time{width:auto}}

/* ===================== feature_code ===================== */
.apb-rx-code{display:grid;gap:44px;max-width:var(--apb-pg-maxw,1120px);margin-inline:auto}
.apb-rx-code-row{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.apb-rx-code-row>*{min-width:0}
.apb-rx-code-row:nth-child(even) .apb-rx-code-copy{order:2}
.apb-rx-code--stacked .apb-rx-code-row{grid-template-columns:1fr;gap:18px}
.apb-rx-code-copy h3{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}
.apb-rx-code-card{background:#0b1020;border:1px solid #1e2440;border-radius:var(--apb-rx-radius,14px);overflow:hidden;box-shadow:var(--apb-rx-shadow-2,0 14px 34px -12px rgba(11,13,18,.4))}
.apb-rx-code-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#11162b;border-bottom:1px solid #1e2440}
.apb-rx-code-bar>span:not(.apb-rx-code-lang){width:11px;height:11px;border-radius:50%;background:#39405e}
.apb-rx-code-bar>span:nth-child(1){background:#ff5f56}.apb-rx-code-bar>span:nth-child(2){background:#ffbd2e}.apb-rx-code-bar>span:nth-child(3){background:#27c93f}
.apb-rx-code-lang{margin-left:auto;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#7782b0}
.apb-rx-code-pre{margin:0;padding:18px;overflow:auto;font:13.5px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#c8d3f5}
.apb-rx-code-pre code{white-space:pre}
@media(max-width:860px){.apb-rx-code-row,.apb-rx-code-row:nth-child(even) .apb-rx-code-copy{grid-template-columns:1fr;order:0}}

/* ===================== tour_dates ===================== */
.apb-rx-tour{max-width:820px;margin-inline:auto;display:grid;gap:2px}
.apb-rx-tour--cards{gap:14px}
.apb-rx-tour-row{display:flex;align-items:center;gap:20px;padding:18px 4px;border-bottom:1px solid var(--color-gray-100,#eef0f4)}
.apb-rx-tour-row:last-child{border-bottom:0}
.apb-rx-tour--cards .apb-rx-tour-row{border:var(--apb-rx-border,1px) solid var(--apb-rx-line,#e7e8ec);border-radius:var(--apb-rx-radius,14px);padding:18px 20px;background:var(--apb-rx-surface,#fff);box-shadow:var(--apb-rx-shadow-1,0 1px 2px rgba(11,13,18,.05));transition:transform var(--apb-rx-t,.28s) var(--apb-rx-ease,ease),box-shadow var(--apb-rx-t,.28s) var(--apb-rx-ease,ease)}
.apb-rx-tour--cards .apb-rx-tour-row:hover{transform:translateY(-2px);box-shadow:var(--apb-rx-shadow-2,0 14px 34px -12px rgba(11,13,18,.22))}
.apb-rx-tour-date{flex:none;width:120px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--apb-rx-accent-text,var(--apb-rx-brand,#4f46e5));font-size:15px}
.apb-rx-tour-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.apb-rx-tour-venue{font-weight:650;font-size:16px;letter-spacing:-.01em;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-tour-city{font-size:13px;color:var(--apb-rx-muted,#5a6472)}
.apb-rx-tour-action{flex:none}
.apb-rx-tour-status{font-size:13px;font-weight:600;color:var(--apb-rx-muted,#9aa1ad);text-transform:uppercase;letter-spacing:.04em}
.apb-rx-tour-action .apb-rx-btn{padding:9px 18px;font-size:14px}
@media(max-width:600px){.apb-rx-tour-row{flex-wrap:wrap;gap:8px}.apb-rx-tour-date{width:100%}}

/* ===================== calculator ===================== */
.apb-rx-calc-sub{text-align:center;margin-inline:auto;max-width:560px}
.apb-rx-calc{display:grid;grid-template-columns:1.05fr .95fr;max-width:880px;margin:0 auto;border:var(--apb-rx-border,1px) solid var(--apb-rx-line,#e7e8ec);border-radius:calc(var(--apb-rx-radius,16px) * 1.4);overflow:hidden;box-shadow:var(--apb-rx-shadow-2,0 14px 34px -12px rgba(11,13,18,.22))}
.apb-rx-calc-inputs{padding:28px;display:grid;gap:16px;background:var(--apb-rx-surface,#fff);align-content:center}
.apb-rx-calc-field{display:grid;gap:6px}
.apb-rx-calc-field span{font-size:13px;font-weight:600;color:var(--apb-rx-muted,#5a6472)}
.apb-rx-calc-field input{padding:12px 14px;border:var(--apb-rx-border,1px) solid var(--apb-rx-line,#e7e8ec);border-radius:calc(var(--apb-rx-radius,16px) * .68);font:inherit;font-size:16px;font-weight:600;color:var(--apb-rx-ink,#0b0d12);transition:border-color .2s,box-shadow .2s}
.apb-rx-calc-field input:focus{outline:none;border-color:var(--apb-rx-brand,#4f46e5);box-shadow:0 0 0 3px var(--apb-rx-ring)}
.apb-rx-calc-result{padding:30px 28px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;color:#fff;background:linear-gradient(135deg,var(--apb-rx-brand,#4f46e5),var(--apb-rx-brand2,#7c3aed))}
.apb-rx-calc-result-label{font-size:13px;font-weight:600;opacity:.85}
.apb-rx-calc-amount{font-size:clamp(34px,5vw,46px);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.05}
.apb-rx-calc-note{font-size:12px;opacity:.82;margin:4px 0 0}
.apb-rx-calc-result .apb-rx-btn{margin-top:14px;background:#fff;color:var(--apb-rx-accent-text,var(--apb-rx-brand,#4f46e5));box-shadow:0 8px 20px -8px rgba(0,0,0,.4)}
@media(max-width:680px){.apb-rx-calc{grid-template-columns:1fr}}

/* ===================== before_after ===================== */
.apb-rx-ba{max-width:var(--apb-pg-maxw,1120px);margin-inline:auto;display:grid;gap:30px}
.apb-rx-ba-item{margin:0}
.apb-rx-ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:var(--apb-rx-radius,16px);overflow:hidden;box-shadow:var(--apb-rx-shadow-2,0 14px 34px -12px rgba(11,13,18,.22))}
.apb-rx-ba-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--color-gray-100,#f1f3f5)}
.apb-rx-ba-img img{width:100%;height:100%;object-fit:cover;display:block}
.apb-rx-ba-tag{position:absolute;left:10px;bottom:10px;background:rgba(11,13,18,.72);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--apb-rx-radius-pill,999px);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.apb-rx-ba-tag--after{background:var(--apb-rx-brand,#4f46e5)}
.apb-rx-ba-label{text-align:center;margin-top:12px;font-weight:600;color:var(--apb-rx-ink,#0b0d12)}
@media(max-width:560px){.apb-rx-ba-pair{grid-template-columns:1fr}}

/* ===================== gallery · masonry variant ===================== */
.apb-rx-gallery--masonry{display:block;column-count:3;column-gap:18px}
.apb-rx-gallery--masonry .apb-rx-gal-item{break-inside:avoid;margin:0 0 18px}
.apb-rx-gallery--masonry .apb-rx-gal-item .apb-rx-media{aspect-ratio:auto}
@media(max-width:860px){.apb-rx-gallery--masonry{column-count:2}}
@media(max-width:520px){.apb-rx-gallery--masonry{column-count:1}}
