/*
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.7.0
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 { display:flex; align-items:center; gap:11px; color:#fff !important; text-decoration:none !important; white-space:nowrap; }
.opc-brand-mark { width:34px; height:42px; flex:0 0 34px; display:grid; place-items:center; }
.opc-brand-mark img { width:100%; height:100%; display:block; object-fit:contain; }
.opc-app-logo b { font-size:25px; font-weight:950; letter-spacing:-.06em; line-height:1; }
.opc-app-logo b>span { color:var(--opc-gold); }
.opc-app-logo small { display:block; margin-top:6px; color:var(--opc-gold); font-size:7px; letter-spacing:.32em; }
.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-actions { margin-left:auto; align-self:stretch; display:flex; flex:0 0 auto; }
.opc-live-action { min-width:148px; display:flex; align-items:center; justify-content:center; padding:0 17px; color:#111 !important; font-size:10px; font-weight:950; letter-spacing:.06em; text-decoration:none !important; text-transform:uppercase; white-space:nowrap; }
.opc-live-offer { background:var(--opc-gold); }
.opc-live-demand { background:#111; color:#fff !important; }
.opc-live-action:hover { filter:brightness(.93); }

.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-issue-ribbon { position:relative; isolation:isolate; overflow:hidden; background:#161411 var(--opc-issue-image) 50% 40%/cover; color:#fff; }
.opc-issue-ribbon::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(5,5,5,.93) 0%,rgba(5,5,5,.78) 52%,rgba(5,5,5,.28) 100%); }
.opc-issue-ribbon .opc-wrap { min-height:235px; display:flex; align-items:center; justify-content:space-between; gap:42px; padding-top:34px; padding-bottom:34px; }
.opc-issue-ribbon-copy { max-width:760px; }
.opc-issue-ribbon-copy>p:first-child { margin:0 0 13px; color:var(--opc-gold-soft); font-size:10px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
.opc-issue-ribbon-copy h1 { margin:0; font-size:clamp(50px,7vw,94px); font-weight:950; letter-spacing:-.075em; line-height:.8; text-transform:uppercase; }
.opc-issue-ribbon-copy h1 span { color:var(--opc-gold); }
.opc-issue-ribbon-copy>p:last-child { max-width:660px; margin:24px 0 0; color:#eee9df; font-size:15px; line-height:1.5; }
.opc-issue-ribbon .opc-wrap>a { width:150px; height:150px; flex:0 0 150px; display:flex; flex-direction:column; justify-content:center; padding:20px; border:1px solid rgba(255,255,255,.46); border-radius:50%; color:#fff; text-decoration:none; text-transform:uppercase; }
.opc-issue-ribbon .opc-wrap>a span { color:var(--opc-gold-soft); font-size:9px; font-weight:900; letter-spacing:.15em; }
.opc-issue-ribbon .opc-wrap>a strong { margin-top:4px; font-size:17px; line-height:1.02; }
.opc-issue-ribbon .opc-wrap>a i { margin-top:17px; color:var(--opc-gold); font-size:22px; font-style:normal; }
.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; display:flex; align-items:center; gap:8px; 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 small { color:var(--opc-gold); font-size:8px; letter-spacing:.04em; }
.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; }

/* 2.6 — article discussion and the permanent media-kit navigation. */
.opc-article { width:min(100% - 48px,920px); margin-inline:auto; }
.opc-article>.wp-block-post-title { max-width:900px; font-size:clamp(48px,7vw,82px) !important; letter-spacing:-.055em; line-height:.92; }
.opc-article-meta { color:var(--opc-muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.opc-article .wp-block-post-featured-image { margin-top:38px; margin-bottom:42px; }
.opc-article .wp-block-post-featured-image img { width:100%; }
.opc-comments-separator { margin-top:68px !important; margin-bottom:46px !important; border-color:var(--opc-line) !important; }
.opc-comments { max-width:760px; margin-top:68px; padding-top:46px; border-top:1px solid var(--opc-line); }
.opc-comments>h2 { margin:0 0 28px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(40px,5vw,64px); font-weight:400; letter-spacing:-.045em; }
.opc-comments-count,.opc-comments-empty,.opc-comments .comment-notes { color:var(--opc-muted); font-size:13px; }
.opc-comment-list,.opc-comment-list .children { margin:0; padding:0; list-style:none; }
.opc-comment-list .children { margin-left:28px; }
.opc-comment-list .comment-body { padding:24px 0; border-bottom:1px solid var(--opc-line); }
.opc-comment-list .comment-author { display:flex; align-items:center; gap:10px; font-weight:900; }
.opc-comment-list .comment-author img { border-radius:50%; }
.opc-comment-list .comment-meta { margin:6px 0 14px; color:var(--opc-muted); font-size:11px; }
.opc-comment-list .comment-meta a,.opc-comment-list .reply a { color:inherit; }
.opc-comment-list .reply { font-size:11px; font-weight:900; text-transform:uppercase; }
.opc-comments .wp-block-comments-title { font-size:16px; font-family:Arial,Helvetica,sans-serif; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.opc-comment { padding:22px 0 26px; border-bottom:1px solid var(--opc-line); }
.opc-comment .wp-block-comment-author-name { font-weight:900; }
.opc-comment .wp-block-comment-date { color:var(--opc-muted); font-size:11px; }
.opc-comments .comment-reply-title { font-family:Georgia,'Times New Roman',serif; font-size:32px; font-weight:400; }
.opc-comments label { display:block; margin-bottom:7px; font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.opc-comments input:not([type="checkbox"]),.opc-comments textarea { box-sizing:border-box; width:100%; padding:13px 14px; border:1px solid var(--opc-line); border-radius:0; background:#fff; color:var(--opc-ink); font:inherit; }
.opc-comments .form-submit input { width:auto; padding:14px 20px; border:0; background:var(--opc-ink); color:#fff; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }

/* 2.5 — public demand board, powered by approved OPC Katalog requests. */
.opc-demand-board { min-height:70vh; background:#fff; color:var(--opc-ink); }
.opc-demand-board-head { padding:70px 0 50px; border-bottom:1px solid var(--opc-line); background:var(--opc-paper); }
.opc-demand-board-head .opc-wrap { display:flex; align-items:end; justify-content:space-between; gap:36px; }
.opc-demand-board-head h1 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(64px,9vw,120px); font-weight:400; letter-spacing:-.065em; line-height:.82; }
.opc-demand-board-head h1 span { color:var(--opc-gold); }
.opc-demand-board-head p:last-child { max-width:650px; margin:26px 0 0; color:var(--opc-muted); font-size:18px; }
.opc-demand-board-head a { flex:0 0 auto; padding:16px 22px; border-radius:999px; background:var(--opc-ink); color:#fff; font-size:11px; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.opc-demand-filters { border-bottom:1px solid var(--opc-line); background:#fff; }
.opc-demand-filters .opc-wrap { display:flex; gap:8px; padding-top:13px; padding-bottom:13px; overflow-x:auto; scrollbar-width:none; }
.opc-demand-filters .opc-wrap::-webkit-scrollbar { display:none; }
.opc-demand-filters 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; }
.opc-demand-filters a.is-active,.opc-demand-filters a:hover { border-color:var(--opc-ink); background:var(--opc-ink); color:#fff; }
.opc-demand-list { padding:46px 0 110px; }
.opc-demand-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.opc-demand-card { min-width:0; min-height:260px; display:flex; flex-direction:column; padding:26px; border:1px solid var(--opc-line); background:#fff; }
.opc-demand-card>p { display:flex; flex-wrap:wrap; gap:6px 12px; margin:0 0 28px; color:var(--opc-muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.opc-demand-card>p strong { color:var(--opc-gold); }
.opc-demand-card h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:30px; font-weight:400; letter-spacing:-.035em; line-height:1.02; }
.opc-demand-card h2 a { color:var(--opc-ink); text-decoration:none; }
.opc-demand-card>div { margin-top:16px; color:var(--opc-muted); font-size:14px; line-height:1.5; }
.opc-demand-card footer { margin-top:auto; padding-top:28px; display:flex; justify-content:space-between; gap:12px; color:var(--opc-muted); font-size:11px; }
.opc-demand-contact { margin-top:38px; padding:28px; border:1px solid var(--opc-line); background:var(--opc-paper); }
.opc-demand-contact h2 { margin-top:0; }
.opc-demand-contact p { margin:8px 0; }

/* 2.7 — ISSUE 01: printed mosaic identity over the stable newsroom app. */
.opc-issue { background:#fff; color:var(--opc-ink); }
.opc-issue-cover { position:relative; isolation:isolate; min-height:620px; display:grid; align-items:end; overflow:hidden; background:#17120f var(--opc-issue-image) 50% 32%/cover no-repeat; color:#fff; }
.opc-issue-cover::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(5,4,3,.14),rgba(5,4,3,.88)); }
.opc-issue-cover .opc-wrap { padding-top:80px; padding-bottom:64px; }
.opc-issue-cover p { margin:0 0 22px; font-size:11px; font-weight:900; letter-spacing:.22em; text-transform:uppercase; }
.opc-issue-cover h1 { margin:0; font-size:clamp(68px,12vw,168px); font-weight:950; letter-spacing:-.08em; line-height:.72; text-transform:uppercase; }
.opc-issue-cover h1 span { color:var(--opc-gold); }
.opc-issue-cover .opc-wrap>div { display:flex; align-items:baseline; gap:20px; margin-top:34px; }
.opc-issue-cover .opc-wrap>div strong { font-size:clamp(30px,5vw,68px); letter-spacing:-.05em; }
.opc-issue-cover .opc-wrap>div span { color:#ddd5c6; font-size:16px; }
.opc-issue-cover nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.opc-issue-cover nav a { padding:13px 18px; border:1px solid rgba(255,255,255,.55); color:#fff; font-size:10px; font-weight:900; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.opc-issue-cover nav a:first-child { border-color:var(--opc-gold); background:var(--opc-gold); color:#111; }
.opc-issue-toc { position:sticky; z-index:50; top:108px; border-bottom:1px solid var(--opc-line); background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
.admin-bar .opc-issue-toc { top:140px; }
.opc-issue-toc .opc-wrap { display:flex; overflow-x:auto; scrollbar-width:none; }
.opc-issue-toc .opc-wrap::-webkit-scrollbar { display:none; }
.opc-issue-toc a { min-width:145px; flex:1 0 auto; display:flex; align-items:center; gap:9px; padding:15px 14px; border-right:1px solid var(--opc-line); color:var(--opc-ink); font-size:10px; font-weight:900; letter-spacing:.08em; text-decoration:none; }
.opc-issue-toc a small { color:var(--opc-gold); }
.opc-issue-section { scroll-margin-top:180px; padding:78px 0 92px; border-bottom:1px solid var(--opc-line); }
.opc-issue-section.is-dark { background:#151513; color:#fff; }
.opc-issue-section>.opc-wrap>header { position:relative; display:grid; grid-template-columns:1fr auto; column-gap:32px; align-items:end; margin-bottom:38px; padding-bottom:27px; border-bottom:1px solid currentColor; }
.opc-issue-section>.opc-wrap>header small { grid-column:1/-1; margin-bottom:12px; color:var(--opc-gold); font-size:10px; font-weight:900; letter-spacing:.18em; }
.opc-issue-section>.opc-wrap>header h2 { margin:0; font-size:clamp(50px,8vw,106px); font-weight:950; letter-spacing:-.07em; line-height:.78; }
.opc-issue-section>.opc-wrap>header p { max-width:650px; margin:19px 0 0; color:var(--opc-muted); font-family:Georgia,'Times New Roman',serif; font-size:19px; line-height:1.35; }
.opc-issue-section.is-dark>.opc-wrap>header p { color:#c9c4b9; }
.opc-issue-section>.opc-wrap>header a { grid-column:2; grid-row:2/4; align-self:center; padding:13px 17px; border:1px solid currentColor; color:inherit; font-size:10px; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.opc-issue-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.opc-issue-card { min-width:0; }
.opc-issue-card-image { aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; background:#262522 center/cover no-repeat; color:var(--opc-gold); font-size:18px; font-weight:950; text-decoration:none; }
.opc-issue-card>div { padding-top:17px; }
.opc-issue-card time { color:var(--opc-gold); font-size:9px; font-weight:900; letter-spacing:.1em; }
.opc-issue-card h3 { margin:9px 0 0; font-family:Georgia,'Times New Roman',serif; font-size:27px; font-weight:400; letter-spacing:-.035em; line-height:1; }
.opc-issue-card h3 a { color:inherit; text-decoration:none; }
.opc-issue-card p { margin:12px 0 0; color:var(--opc-muted); font-size:13px; line-height:1.5; }
.opc-issue-section.is-dark .opc-issue-card p { color:#aaa79f; }
.opc-issue-empty { grid-column:1/-1; min-height:190px; display:flex; flex-direction:column; justify-content:center; padding:30px; border:1px dashed #aaa; }
.opc-issue-empty b { font-family:Georgia,'Times New Roman',serif; font-size:28px; font-weight:400; }
.opc-issue-empty span { margin-top:8px; color:var(--opc-muted); }
.opc-issue-products { margin-top:58px; padding:34px; background:var(--opc-paper); color:var(--opc-ink); }
.opc-issue-products>div:first-child { margin-bottom:24px; }
.opc-issue-products small { color:var(--opc-gold); font-size:9px; font-weight:900; letter-spacing:.14em; }
.opc-issue-products h3 { margin:7px 0 0; font-family:Georgia,'Times New Roman',serif; font-size:36px; font-weight:400; }
.opc-issue-products .products { margin-bottom:18px !important; }
.opc-issue-products-more { color:var(--opc-ink); font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.opc-section-archive { min-height:70vh; background:#fff; }
.opc-section-archive>header { position:relative; isolation:isolate; overflow:hidden; padding:76px 0 64px; background:#171411 var(--opc-issue-image) 50% 38%/cover; color:#fff; }
.opc-section-archive>header::before { content:''; position:absolute; z-index:-1; inset:0; background:rgba(5,5,5,.78); }
.opc-section-archive>header small { color:var(--opc-gold-soft); font-size:10px; font-weight:900; letter-spacing:.19em; }
.opc-section-archive>header h1 { margin:18px 0 0; font-size:clamp(62px,10vw,132px); font-weight:950; letter-spacing:-.075em; line-height:.78; text-transform:uppercase; }
.opc-section-archive>header h1 span { color:var(--opc-gold); }
.opc-section-archive>header p { max-width:700px; margin:28px 0 0; color:#e2ded5; font-size:17px; }
.opc-section-archive>section { padding:48px 0 100px; }

/* Public forms: the plugins own the data; the theme owns a consistent issue design. */
.opc-self-ad { max-width:980px; margin:0 auto; padding:0 0 50px; border:1px solid var(--opc-line); background:#fff; box-shadow:0 26px 70px rgba(0,0,0,.09); }
.opc-self-ad>small,.opc-self-ad>h1,.opc-self-ad>p,.opc-self-ad>.opc-self-ad-success { display:block; margin-left:clamp(22px,5vw,62px); margin-right:clamp(22px,5vw,62px); }
.opc-self-ad>small { margin-top:0; padding-top:52px; color:var(--opc-gold); font-size:10px; font-weight:900; letter-spacing:.18em; }
.opc-self-ad>h1 { margin-top:10px; margin-bottom:0; font-size:clamp(48px,7vw,86px); letter-spacing:-.065em; line-height:.84; }
.opc-self-ad>p { max-width:680px; color:var(--opc-muted); font-size:17px; line-height:1.5; }
.opc-self-ad::before { content:'ISSUE 01  ·  NABÍDKA  ·  OPAVA.CITY'; min-height:96px; display:flex; align-items:end; padding:24px clamp(22px,5vw,62px); box-sizing:border-box; background:linear-gradient(90deg,rgba(5,5,5,.88),rgba(5,5,5,.35)),url('assets/edition-mosaic.jpg') center 32%/cover; color:#fff; font-size:10px; font-weight:900; letter-spacing:.16em; }
.opc-self-ad form,.opc-demand-form { display:grid; gap:20px; padding:34px clamp(22px,5vw,62px); background:var(--opc-paper); }
.opc-self-ad form { margin:38px clamp(22px,5vw,62px) 0; }
.opc-self-ad label,.opc-demand-form label { display:grid; gap:8px; color:var(--opc-ink); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.opc-self-ad input:not([type=checkbox]),.opc-self-ad textarea,.opc-self-ad select,.opc-demand-form input,.opc-demand-form textarea,.opc-demand-form select { box-sizing:border-box; width:100%; min-height:52px; padding:13px 14px; border:1px solid #cfc8ba; border-radius:0; outline:none; background:#fff; color:var(--opc-ink); font:inherit; font-size:15px; font-weight:400; letter-spacing:0; text-transform:none; }
.opc-self-ad textarea,.opc-demand-form textarea { min-height:150px; resize:vertical; }
.opc-self-ad input:focus,.opc-self-ad textarea:focus,.opc-self-ad select:focus,.opc-demand-form input:focus,.opc-demand-form textarea:focus,.opc-demand-form select:focus { border-color:var(--opc-gold); box-shadow:0 0 0 2px rgba(196,154,58,.18); }
.opc-self-ad-pair { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.opc-self-ad-consent { display:flex !important; grid-template-columns:none; align-items:flex-start; gap:10px !important; font-size:11px !important; line-height:1.4; text-transform:none !important; }
.opc-self-ad-consent input { width:18px; height:18px; flex:0 0 18px; }
.opc-self-ad button,.opc-demand-form button { width:max-content; min-height:50px; padding:0 22px; border:0; background:var(--opc-gold); color:#111; font-size:10px; font-weight:950; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.opc-demand-form { max-width:820px; margin:0 auto; border-top:92px solid #191715; box-shadow:inset 0 5px 0 var(--opc-gold),0 26px 70px rgba(0,0,0,.08); }
.opc-demand-form::before { content:'ISSUE 01  ·  POPTÁVKA  ·  CO HLEDÁTE?'; margin-top:-71px; margin-bottom:43px; color:#fff; font-size:10px; font-weight:900; letter-spacing:.16em; }
.opc-demand-form>p { margin:0; }
.opc-demand-success,.opc-demand-error { max-width:820px; box-sizing:border-box; margin:0 auto 24px; padding:18px 20px; border-left:5px solid var(--opc-gold); background:var(--opc-paper); }
.opc-form-page { width:min(100% - 36px,1120px); margin-inline:auto; }
.opc-demand-page>.wp-block-post-title { max-width:820px; margin:0 auto 10px; font-size:clamp(48px,7vw,84px) !important; letter-spacing:-.06em; }
.opc-demand-page>.wp-block-post-title+P { max-width:820px; margin:0 auto 34px; color:var(--opc-muted); font-size:17px; }
.opc-vertical-page { background:#fff; }
.opc-vertical-page>.wp-block-post-content { max-width:none !important; }
.opc-vertical-hero { position:relative; isolation:isolate; min-height:430px; display:flex; flex-direction:column; justify-content:end; box-sizing:border-box; padding:70px max(24px,calc((100vw - 1360px)/2)); overflow:hidden; background:#171411 var(--opc-issue-image) 50% 34%/cover; color:#fff; }
.opc-vertical-hero::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(5,5,5,.93),rgba(5,5,5,.38)); }
.opc-vertical-hero small { color:var(--opc-gold-soft); font-size:10px; font-weight:900; letter-spacing:.2em; }
.opc-vertical-hero h1 { margin:14px 0 0; font-size:clamp(68px,11vw,150px); font-weight:950; letter-spacing:-.075em; line-height:.75; }
.opc-vertical-hero h1 span { color:var(--opc-gold); }
.opc-vertical-hero p { max-width:720px; margin:30px 0 0; color:#eee9df; font-family:Georgia,'Times New Roman',serif; font-size:20px; }
.opc-vertical-hero a { width:max-content; margin-top:26px; color:#fff; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.opc-vertical-content { width:min(1360px,calc(100% - 48px)); margin:0 auto; padding:64px 0 100px; }
.opc-vertical-content>.opc-kicker { color:var(--opc-gold); }
.opc-vertical-content>.woocommerce { margin-top:38px; }

.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); }
.opc-install-icon img { width:31px; height:38px; display:block; }
.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)); }
  .opc-demand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opc-issue-cards { 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-brand-mark { width:29px; height:36px; flex-basis:29px; }
  .opc-app-logo b { font-size:21px; }
  .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:42px; gap:9px; padding:0; overflow:hidden; font-size:10px; }
  .opc-live-name { padding-left:14px; }
  .opc-live-strip time,.opc-nameday { display:none; }
  .opc-live-strip>strong { font-size:11px; }
  .opc-live-motto { display:none; }
  .opc-live-actions { margin-left:auto; }
  .opc-live-action { min-width:0; padding:0 11px; font-size:0; }
  .opc-live-action::after { font-size:8px; letter-spacing:.03em; }
  .opc-live-offer::after { content:'+ Nabídka'; }
  .opc-live-demand::after { content:'+ Poptávka'; }
  .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; }
  .opc-issue-ribbon .opc-wrap { min-height:190px; padding-top:27px; padding-bottom:27px; }
  .opc-issue-ribbon-copy h1 { font-size:52px; }
  .opc-issue-ribbon-copy>p:last-child { margin-top:17px; font-size:13px; }
  .opc-issue-ribbon .opc-wrap>a { width:82px; height:82px; flex-basis:82px; padding:11px; }
  .opc-issue-ribbon .opc-wrap>a span { display:none; }
  .opc-issue-ribbon .opc-wrap>a strong { font-size:10px; text-align:center; }
  .opc-issue-ribbon .opc-wrap>a i { margin-top:6px; font-size:15px; text-align:center; }
  .opc-issue-cover { min-height:520px; }
  .opc-issue-cover .opc-wrap { padding-top:56px; padding-bottom:46px; }
  .opc-issue-cover h1 { font-size:63px; }
  .opc-issue-cover .opc-wrap>div { align-items:flex-start; flex-direction:column; gap:4px; margin-top:26px; }
  .opc-issue-toc { top:100px; }
  .admin-bar .opc-issue-toc { top:146px; }
  .opc-issue-section { scroll-margin-top:170px; padding:54px 0 70px; }
  .opc-issue-section>.opc-wrap>header { display:block; }
  .opc-issue-section>.opc-wrap>header h2 { font-size:55px; }
  .opc-issue-section>.opc-wrap>header p { font-size:16px; }
  .opc-issue-section>.opc-wrap>header a { display:inline-block; margin-top:22px; }
  .opc-issue-products { margin-top:44px; padding:22px 16px; }
  .opc-section-archive>header { padding:54px 0 48px; }
  .opc-self-ad form { margin:32px 16px 0; }
  .opc-self-ad-pair { grid-template-columns:1fr; }
  .opc-demand-form { margin-left:-6px; margin-right:-6px; }
  .opc-form-page { width:100%; }
  .opc-demand-page>.wp-block-post-title { font-size:52px !important; }
  .opc-vertical-hero { min-height:370px; padding:48px 18px; }
  .opc-vertical-hero h1 { font-size:64px; }
  .opc-vertical-hero p { font-size:17px; }
  .opc-vertical-content { width:min(100% - 28px,1360px); padding-top:42px; }
  .opc-article { width:auto; padding:48px 18px 82px !important; }
  .opc-article>.wp-block-post-title { font-size:44px !important; }
  .opc-comments-separator { margin-top:48px !important; }
  .opc-demand-board-head { padding:48px 0 36px; }
  .opc-demand-board-head .opc-wrap { align-items:flex-start; flex-direction:column; }
  .opc-demand-board-head h1 { font-size:64px; }
  .opc-demand-board-head p:last-child { font-size:16px; }
  .opc-demand-filters .opc-wrap { width:100%; padding-left:14px; padding-right:14px; }
  .opc-demand-list { padding-top:24px; padding-bottom:82px; }
}
@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; }
  .opc-demand-grid { grid-template-columns:1fr; }
  .opc-demand-card { min-height:230px; }
  .opc-issue-ribbon .opc-wrap { gap:14px; }
  .opc-issue-ribbon-copy h1 { font-size:43px; }
  .opc-issue-ribbon-copy>p:last-child { max-width:250px; }
  .opc-issue-cards { grid-template-columns:1fr; gap:34px; }
  .opc-issue-card h3 { font-size:30px; }
}
