/*
Theme Name: Opava.City App
Theme URI: https://opava.city
Author: Opava City s.r.o.
Description: Aplikační šablona Opava.City s katalogem firem, mapou, nabídkami a živým magazínem.
Version: 2.4.1
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: opava-city
*/

:root {
  --opc-gold:#c49a3a;
  --opc-gold-soft:#efe2bd;
  --opc-ink:#0c0c0c;
  --opc-dark:#1d1e20;
  --opc-paper:#f5f2ea;
  --opc-line:#ddd8cc;
  --opc-muted:#6f6c64;
  --opc-white:#fff;
  --opc-shadow:0 24px 70px rgba(0,0,0,.14);
}
html { scroll-behavior:smooth; }
body { margin:0; text-rendering:optimizeLegibility; overflow-x:hidden; background:var(--opc-paper); }
.wp-site-blocks { padding-top:0; padding-bottom:0; }
.wp-site-blocks > * { margin-block-start:0 !important; }
a { text-underline-offset:.18em; }
.opc-wrap { width:min(1360px,calc(100% - 48px)); margin-inline:auto; }
.opc-home { background:var(--opc-white); color:var(--opc-ink); }
.opc-kicker { margin:0 0 13px; font-size:12px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.opc-kicker-gold { color:var(--opc-gold); }

.opc-app-header { position:sticky; z-index:1000; top:0; width:100%; color:#fff; background:var(--opc-dark); box-shadow:0 8px 25px rgba(0,0,0,.12); }
.admin-bar .opc-app-header { top:32px; }
.opc-app-primary { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 max(28px,calc((100vw - 1360px)/2)); }
.opc-app-logo { color:#fff !important; font-size:29px; font-weight:950; letter-spacing:-.065em; line-height:1; text-decoration:none !important; white-space:nowrap; }
.opc-app-logo span { color:var(--opc-gold); }
.opc-app-logo small { display:block; margin-top:6px; color:var(--opc-gold); font-size:8px; letter-spacing:.34em; }
.opc-top-install { min-height:42px; padding:0 17px; border:1px solid #4e4e4e; border-radius:999px; background:transparent; color:#fff; font:inherit; font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; white-space:nowrap; }
.opc-top-install span { color:var(--opc-gold); font-size:16px; }
.opc-live-strip { min-height:42px; display:flex; align-items:center; gap:22px; padding:0 max(28px,calc((100vw - 1360px)/2)); border-top:1px solid #333; background:#fff; color:#141414; font-size:11px; letter-spacing:.04em; }
.opc-live-name { font-weight:950; letter-spacing:.08em; white-space:nowrap; }
.opc-live-name i { width:8px; height:8px; display:inline-block; margin-right:9px; border-radius:50%; background:var(--opc-gold); box-shadow:0 0 0 5px rgba(196,154,58,.16); }
.opc-live-strip time,.opc-live-strip>strong,.opc-nameday { white-space:nowrap; }
.opc-live-motto { color:#87837b; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.opc-live-ad { margin-left:auto; align-self:stretch; display:flex; align-items:center; padding:0 18px; background:var(--opc-gold); color:#111 !important; font-weight:950; letter-spacing:.06em; text-decoration:none !important; text-transform:uppercase; white-space:nowrap; }

.opc-catalog-hero { position:relative; min-height:680px; display:grid; place-items:center; isolation:isolate; overflow:hidden; color:#fff; background:#171717 var(--opc-hero-image) center/cover no-repeat; }
.opc-catalog-hero::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.70)); }
.opc-hero-content { width:min(850px,calc(100% - 40px)); padding:78px 0 64px; text-align:center; }
.opc-hero-edition { margin:0 0 26px; font-size:12px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
.opc-catalog-hero h1 { margin:0; color:#fff; font-family:Arial,Helvetica,sans-serif; font-size:clamp(64px,9vw,126px); font-weight:950; letter-spacing:-.065em; line-height:.78; text-transform:uppercase; text-shadow:0 3px 24px rgba(0,0,0,.25); }
.opc-hero-tagline { margin:28px 0 0; font-size:clamp(19px,2.2vw,29px); font-weight:700; }
.opc-catalog-search { margin:42px auto 0; padding:10px; border-radius:999px; background:#fff; box-shadow:var(--opc-shadow); }
.opc-catalog-search form { display:grid; grid-template-columns:1fr auto; gap:8px; }
.opc-catalog-search input { min-width:0; height:62px; padding:0 24px; border:0; outline:0; background:transparent; color:#111; font-size:18px; }
.opc-catalog-search button { min-width:145px; border:0; border-radius:999px; background:#0b0b0b; color:#fff; font-size:15px; font-weight:900; cursor:pointer; }
.opc-catalog-search button:hover { background:var(--opc-gold); color:#111; }
.opc-hero-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:22px; }
.opc-hero-actions a { min-width:190px; padding:15px 22px; border:1px solid rgba(255,255,255,.7); border-radius:999px; color:#fff !important; font-size:12px; font-weight:950; letter-spacing:.08em; text-decoration:none !important; text-transform:uppercase; }
.opc-hero-actions a:first-child { border-color:#fff; background:#fff; color:#111 !important; }
.opc-hero-count { margin:20px 0 0; color:rgba(255,255,255,.75); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.opc-archive-hero { min-height:auto; display:block; padding:76px 0 68px; background:#171717; }
.opc-archive-hero::before { display:none; }
.opc-archive-hero>.opc-wrap:first-child { padding:0; }
.opc-archive-hero h1 { font-size:clamp(58px,8vw,106px); line-height:.86; }
.opc-archive-hero .opc-lead { color:#d3d0c8; font-size:20px; }
.opc-archive-hero .opc-catalog-search { margin-top:36px; }

.opc-section { padding:88px 0; }
.opc-section-paper { background:var(--opc-paper); }
.opc-live-home { scroll-margin-top:132px; background:#fff; }
.opc-live-home-first { padding-top:56px; }
.opc-catalog-hero-after-news { min-height:540px; }
.opc-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:38px; }
.opc-section-head h2 { max-width:800px; margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(40px,5vw,68px); font-weight:400; letter-spacing:-.045em; line-height:.96; }
.opc-section-head p { max-width:540px; margin:0; color:var(--opc-muted); }
.opc-text-link { color:var(--opc-ink); font-size:13px; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.opc-app-layer { padding:72px 0 82px; background:#101010; color:#fff; }
.opc-app-layer h2 { max-width:820px; margin:0 0 38px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(38px,5vw,66px); font-weight:400; letter-spacing:-.045em; line-height:.96; }
.opc-app-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.opc-app-grid a { min-height:150px; display:flex; align-items:flex-end; gap:18px; padding:24px; border:1px solid #303030; border-radius:20px; background:#1a1a1a; color:#fff !important; text-decoration:none !important; transition:.2s ease; }
.opc-app-grid a:hover { border-color:var(--opc-gold); transform:translateY(-3px); }
.opc-app-grid i { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border:1px solid #444; border-radius:50%; color:var(--opc-gold); font-family:Georgia,serif; font-size:22px; font-style:normal; }
.opc-app-grid span { display:flex; flex-direction:column; gap:4px; }
.opc-app-grid strong { font-size:18px; }
.opc-app-grid small { color:#aaa; font-size:12px; }
.opc-property-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.opc-property-card { overflow:hidden; border:1px solid var(--opc-line); border-radius:18px; background:#fff; color:var(--opc-ink); text-decoration:none; transition:.2s ease; }
.opc-property-card:hover { transform:translateY(-4px); box-shadow:var(--opc-shadow); }
.opc-property-image { aspect-ratio:4/3; display:grid; place-items:center; padding:20px; background:#171717 center/cover no-repeat; color:var(--opc-gold); text-align:center; }
.opc-property-image b { font-size:18px; letter-spacing:.05em; }
.opc-property-body { min-height:138px; display:flex; flex-direction:column; padding:20px; }
.opc-property-body small { color:var(--opc-gold); font-size:10px; font-weight:900; letter-spacing:.13em; }
.opc-property-body h3 { margin:11px 0 18px; font-family:Georgia,serif; font-size:22px; font-weight:400; line-height:1.08; }
.opc-property-body strong { margin-top:auto; font-size:14px; }
.opc-property-add .opc-property-image b { font-size:58px; font-weight:300; }
.opc-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--opc-line); border-left:1px solid var(--opc-line); }
.opc-category-card { min-height:184px; display:flex; flex-direction:column; justify-content:space-between; padding:28px; border-right:1px solid var(--opc-line); border-bottom:1px solid var(--opc-line); color:var(--opc-ink); text-decoration:none; transition:.22s ease; }
.opc-category-card:hover { z-index:1; color:#fff; background:var(--opc-ink); transform:translateY(-4px); box-shadow:var(--opc-shadow); }
.opc-category-icon { font-family:Georgia,serif; font-size:34px; color:var(--opc-gold); }
.opc-category-card h3 { margin:26px 0 4px; font-size:21px; letter-spacing:-.03em; }
.opc-category-card small { color:var(--opc-muted); }
.opc-category-card:hover small { color:#c8c5bd; }
.opc-company-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.opc-company-card { min-height:250px; display:flex; flex-direction:column; padding:27px; border:1px solid var(--opc-line); border-radius:18px; background:#fff; color:var(--opc-ink); text-decoration:none; transition:.2s ease; }
.opc-company-card:hover { transform:translateY(-5px); box-shadow:var(--opc-shadow); }
.opc-company-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.opc-company-number { color:var(--opc-gold); font-family:Georgia,serif; font-size:24px; }
.opc-verified { padding:5px 9px; border-radius:999px; background:var(--opc-gold-soft); color:#745714; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.opc-company-card h3 { margin:36px 0 9px; font-family:Georgia,serif; font-size:28px; font-weight:400; line-height:1.04; }
.opc-company-category { color:var(--opc-muted); font-size:13px; }
.opc-company-address { margin-top:auto; padding-top:28px; font-size:13px; }
.opc-company-address::before { content:'⌖ '; color:var(--opc-gold); }
.opc-empty { grid-column:1/-1; padding:34px; border:1px dashed var(--opc-line); border-radius:18px; color:var(--opc-muted); }
.opc-map-shell { display:grid; grid-template-columns:.9fr 1.1fr; min-height:560px; border-radius:28px; overflow:hidden; background:#171714; color:#fff; }
.opc-map-copy { padding:62px; display:flex; flex-direction:column; justify-content:space-between; }
.opc-map-copy h2 { margin:0; font-family:Georgia,serif; font-size:clamp(48px,6vw,82px); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.opc-map-copy p { max-width:480px; color:#c9c7c0; font-size:18px; }
.opc-map-actions { display:flex; flex-wrap:wrap; gap:12px; }
.opc-map-actions a { padding:13px 18px; border:1px solid #5a574f; border-radius:999px; color:#fff; font-size:12px; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.opc-map-actions a:first-child { border-color:var(--opc-gold); background:var(--opc-gold); color:#111; }
.opc-map-canvas { position:relative; min-height:560px; overflow:hidden; background:radial-gradient(circle at 50% 50%,rgba(196,154,58,.22),transparent 29%),linear-gradient(35deg,transparent 49.5%,rgba(255,255,255,.08) 50%,transparent 50.5%),linear-gradient(145deg,transparent 49.5%,rgba(255,255,255,.07) 50%,transparent 50.5%); background-size:auto,72px 72px,86px 86px; }
.opc-map-canvas::after { content:''; position:absolute; inset:8%; border:1px solid rgba(196,154,58,.45); border-radius:48% 52% 55% 45%; transform:rotate(-8deg); }
.opc-map-place { position:absolute; z-index:2; display:flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(16,16,15,.82); color:#fff; font-size:12px; font-weight:700; text-decoration:none; backdrop-filter:blur(8px); }
.opc-map-place::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--opc-gold); box-shadow:0 0 0 5px rgba(196,154,58,.18); }
.opc-map-place:nth-child(1){left:12%;top:18%}.opc-map-place:nth-child(2){right:11%;top:15%}.opc-map-place:nth-child(3){left:38%;top:37%}.opc-map-place:nth-child(4){left:10%;bottom:24%}.opc-map-place:nth-child(5){right:12%;bottom:28%}.opc-map-place:nth-child(6){left:41%;bottom:11%}
.opc-offer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.opc-offer-card { color:var(--opc-ink); text-decoration:none; }
.opc-offer-image { aspect-ratio:4/3; overflow:hidden; border-radius:16px; background:#e9e5dc; }
.opc-offer-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.opc-offer-card:hover img { transform:scale(1.035); }
.opc-offer-card h3 { margin:16px 0 5px; font-family:Georgia,serif; font-size:23px; font-weight:400; line-height:1.1; }
.opc-offer-card p { margin:0; color:var(--opc-muted); font-size:14px; }
.opc-journal-grid { display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:18px; }
.opc-journal-card { min-height:320px; display:flex; flex-direction:column; justify-content:end; padding:30px; border-radius:18px; background:#fff; color:var(--opc-ink); text-decoration:none; }
.opc-journal-card:first-child { min-height:520px; background:var(--opc-ink); color:#fff; }
.opc-journal-card.has-image { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.08)),var(--opc-card-image) center/cover; color:#fff; }
.opc-journal-card.has-image::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.02) 75%); }
.opc-journal-type { margin-bottom:auto; color:var(--opc-gold); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.opc-journal-card time { color:var(--opc-gold); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.opc-journal-card h3 { margin:14px 0 0; font-family:Georgia,serif; font-size:30px; font-weight:400; line-height:1.04; }
.opc-journal-card:first-child h3 { font-size:clamp(38px,4vw,58px); }
.opc-join { padding:62px; border-radius:28px; background:var(--opc-gold); color:var(--opc-ink); display:flex; align-items:center; justify-content:space-between; gap:34px; }
.opc-join h2 { margin:0; max-width:800px; font-family:Georgia,serif; font-size:clamp(40px,5vw,68px); font-weight:400; letter-spacing:-.05em; line-height:.95; }
.opc-join a { padding:17px 24px; border-radius:999px; background:var(--opc-ink); color:#fff; font-size:12px; font-weight:900; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.opc-footer { border-top:1px solid var(--opc-line); }

/* 2.4 — application shell with a content-only magazine homepage. */
.opc-news-only { min-height:70vh; background:#fff; }
.opc-news-only-categories { border-bottom:1px solid var(--opc-line); background:var(--opc-paper); }
.opc-news-only-categories .opc-wrap { display:flex; gap:8px; padding-top:12px; padding-bottom:12px; overflow-x:auto; scrollbar-width:none; }
.opc-news-only-categories .opc-wrap::-webkit-scrollbar { display:none; }
.opc-news-only-categories a { flex:0 0 auto; padding:9px 14px; border:1px solid var(--opc-line); border-radius:999px; color:var(--opc-muted); font-size:10px; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.opc-news-only-categories a:hover,.opc-news-only-categories a.is-active { border-color:var(--opc-ink); background:var(--opc-ink); color:#fff; }
.opc-news-only-feed { padding:28px 0 100px; }
.opc-news-only-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px 20px; }
.opc-news-only-card { min-width:0; }
.opc-news-only-card.is-lead { grid-column:span 2; }
.opc-news-only-image { aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; background:#151515 center/cover no-repeat; color:var(--opc-gold); font-size:24px; font-weight:950; letter-spacing:-.04em; text-decoration:none; }
.opc-news-only-card.is-lead .opc-news-only-image { aspect-ratio:16/9; }
.opc-news-only-copy { padding-top:18px; }
.opc-news-only-copy>p { display:flex; gap:8px; margin:0 0 11px; color:var(--opc-muted); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.opc-news-only-copy>p strong { color:var(--opc-gold); }
.opc-news-only-copy h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(25px,3vw,40px); font-weight:400; letter-spacing:-.035em; line-height:1.02; }
.opc-news-only-card.is-lead h2 { font-size:clamp(38px,5vw,68px); }
.opc-news-only-copy h2 a { color:var(--opc-ink); text-decoration:none; }
.opc-news-only-copy>div { margin-top:14px; color:var(--opc-muted); font-size:14px; line-height:1.5; }
.opc-news-only-pagination { display:flex; justify-content:center; gap:8px; margin-top:60px; }
.opc-news-only-pagination .page-numbers { min-width:40px; min-height:40px; display:grid; place-items:center; padding:0 12px; border:1px solid var(--opc-line); border-radius:999px; color:var(--opc-ink); font-size:11px; font-weight:900; text-decoration:none; }
.opc-news-only-pagination .current { border-color:var(--opc-ink); background:var(--opc-ink); color:#fff; }

.opc-app-nav { display:none; }
.opc-install-sheet { position:fixed; z-index:10002; left:50%; bottom:28px; width:min(620px,calc(100% - 28px)); transform:translateX(-50%); align-items:center; gap:18px; padding:18px; border:1px solid var(--opc-line); border-radius:22px; background:rgba(255,255,255,.98); color:var(--opc-ink); box-shadow:0 28px 90px rgba(0,0,0,.24); backdrop-filter:blur(20px); }
.opc-install-sheet:not([hidden]) { display:flex; }
.opc-install-sheet p { margin:3px 0 0; color:var(--opc-muted); font-size:13px; line-height:1.35; }
.opc-install-icon { flex:0 0 50px; width:50px; height:50px; display:grid; place-items:center; border-radius:15px; background:var(--opc-ink); color:var(--opc-gold); font-family:Georgia,serif; font-size:29px; }
.opc-install-close { position:absolute; right:10px; top:7px; border:0; background:transparent; font-size:23px; cursor:pointer; }
.opc-install-confirm { margin-left:auto; padding:13px 18px; border:0; border-radius:999px; background:var(--opc-ink); color:#fff; font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; cursor:pointer; }
.opc-install-open { font:inherit; }

@media (max-width:1000px) {
  .opc-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .opc-company-grid,.opc-map-shell { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opc-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opc-property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opc-journal-grid { grid-template-columns:1fr 1fr; }
  .opc-journal-card:first-child { grid-column:1/-1; }
  .opc-news-only-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:781px) {
  .admin-bar .opc-app-header { top:46px; }
  html { scroll-padding-bottom:82px; }
  body { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
  .opc-wrap { width:min(100% - 28px,1360px); }
  .opc-app-header { box-shadow:0 4px 16px rgba(0,0,0,.16); }
  .opc-app-primary { min-height:58px; gap:12px; padding:0 14px; }
  .opc-app-logo { font-size:21px; line-height:1; }
  .opc-app-logo small { margin-top:3px; font-size:6px; letter-spacing:.28em; }
  .opc-top-install { width:38px; min-height:38px; justify-self:end; padding:0; font-size:0; }
  .opc-top-install span { font-size:18px; }
  .opc-live-strip { min-height:38px; gap:11px; padding:0 0 0 14px; overflow:hidden; font-size:10px; }
  .opc-live-strip time,.opc-nameday { display:none; }
  .opc-live-strip>strong { margin-right:auto; font-size:11px; }
  .opc-live-motto { display:none; }
  .opc-live-ad { margin-left:0; padding:0 12px; font-size:0; }
  .opc-live-ad::after { content:'+ Přidat'; font-size:10px; }
  .opc-catalog-hero { min-height:calc(100svh - 163px); background-position:center top; }
  .opc-live-home-first { padding-top:38px; }
  .opc-catalog-hero-after-news { min-height:540px; }
  .opc-hero-content { width:min(100% - 30px,680px); padding:58px 0 48px; }
  .opc-hero-edition { font-size:10px; }
  .opc-catalog-hero h1 { font-size:clamp(42px,13vw,68px); line-height:.86; }
  .opc-hero-tagline { margin-top:22px; font-size:19px; }
  .opc-catalog-search { margin-top:34px; padding:8px; }
  .opc-catalog-search input { height:57px; padding:0 16px; font-size:16px; }
  .opc-catalog-search button { min-width:100px; }
  .opc-hero-actions a { min-width:0; flex:1 1 150px; padding:14px 16px; }
  .opc-section { padding:62px 0; }
  .opc-section-head { align-items:start; flex-direction:column; }
  .opc-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opc-app-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .opc-app-grid a { min-height:138px; align-items:flex-start; flex-direction:column; padding:18px; }
  .opc-app-grid i { width:40px; height:40px; flex-basis:40px; }
  .opc-category-card { min-height:150px; padding:20px; }
  .opc-company-grid { grid-template-columns:1fr; }
  .opc-map-shell { grid-template-columns:1fr; }
  .opc-map-copy { min-height:420px; padding:36px 28px; }
  .opc-map-canvas { min-height:430px; }
  .opc-journal-grid { grid-template-columns:1fr; }
  .opc-journal-card:first-child { grid-column:auto; min-height:410px; }
  .opc-join { padding:38px 28px; align-items:flex-start; flex-direction:column; }
  .opc-app-nav { position:fixed; z-index:9999; left:0; right:0; bottom:0; box-sizing:border-box; height:calc(68px + env(safe-area-inset-bottom)); min-height:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:5px max(4px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left)); border-top:1px solid #292926; background:rgba(10,10,10,.98); color:#fff; backdrop-filter:blur(18px); }
  .opc-app-nav a,.opc-app-nav button { min-width:0; min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; overflow:hidden; border:0; background:transparent; color:#fff !important; font-size:8px; font-weight:900; line-height:1; letter-spacing:.02em; text-decoration:none !important; text-transform:uppercase; cursor:pointer; }
  .opc-app-nav span { color:#fff; font-size:20px; font-weight:400; line-height:1; }
  .opc-app-nav .opc-app-add span { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; border-radius:50%; background:var(--opc-gold); color:#111; }
  .opc-install-sheet { bottom:calc(76px + env(safe-area-inset-bottom)); align-items:flex-start; padding:19px 16px; }
  .opc-install-sheet .opc-install-confirm { margin:54px 0 0 -132px; }
  .opc-news-only-categories .opc-wrap { width:100%; padding-left:14px; padding-right:14px; }
  .opc-news-only-feed { padding-top:18px; padding-bottom:62px; }
}
@media (max-width:480px) {
  .opc-catalog-hero { min-height:690px; }
  .opc-catalog-hero-after-news { min-height:560px; }
  .opc-catalog-search input { font-size:15px; }
  .opc-offer-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .opc-property-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .opc-property-body { min-height:122px; padding:15px; }
  .opc-property-body h3 { font-size:18px; }
  .opc-offer-card h3 { font-size:18px; }
  .opc-offer-card p { font-size:12px; }
  .opc-news-only-grid { grid-template-columns:1fr; gap:40px; }
  .opc-news-only-card.is-lead { grid-column:auto; }
  .opc-news-only-card.is-lead .opc-news-only-image { aspect-ratio:4/3; }
  .opc-news-only-card.is-lead h2 { font-size:38px; }
}
