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

:root {
  --opc-gold:#d6a856;
  --opc-gold-deep:#8f5c24;
  --opc-gold-light:#ffe5a1;
  --opc-gold-soft:#f1dfb2;
  --opc-ink:#0a0908;
  --opc-dark:#12100e;
  --opc-paper:#f4efe5;
  --opc-line:#d8c9aa;
  --opc-muted:#70685d;
  --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%; overflow:visible; 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; overflow:visible; 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-main-nav { margin-left:auto; display:flex; align-items:center; gap:3px; }
.opc-main-nav a { padding:11px 13px; border-radius:999px; color:#dedbd3; font-size:10px; font-weight:900; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.opc-main-nav a:hover { background:#2a2a28; color:#fff; }
.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-copy nav { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.opc-issue-ribbon-copy nav a { padding:10px 14px; border:1px solid rgba(255,255,255,.45); color:#fff; font-size:9px; font-weight:900; letter-spacing:.09em; text-decoration:none; text-transform:uppercase; }
.opc-issue-ribbon-copy nav a:first-child { border-color:var(--opc-gold); background:var(--opc-gold); color:#111; }
.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-copy>.opc-feed-item-detail { width:max-content; max-width:100%; box-sizing:border-box; margin-top:17px; padding:8px 11px; border-left:3px solid var(--opc-gold); background:var(--opc-paper); color:var(--opc-ink); font-size:10px; font-weight:900; letter-spacing:.06em; line-height:1.3; text-transform:uppercase; }
.opc-feed-type-opc_offer .opc-news-only-image { box-shadow:inset 0 0 0 5px var(--opc-gold); }
.opc-feed-type-opc_offer .opc-news-only-copy>p strong { color:#9a6e0e; }
.opc-feed-type-opc_poptavka .opc-news-only-image { box-shadow:inset 0 0 0 5px var(--opc-ink); }
.opc-feed-type-product .opc-news-only-image { background-size:contain; background-color:var(--opc-paper); background-repeat:no-repeat; }
.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; }

/* 2.8 — public market boards, switchable homepage and owned Woo layouts. */
.opc-selected-home>.wp-block-post-content { margin-block-start:0; }
.opc-listing-board,.opc-shop-page,.opc-product-page { min-height:70vh; background:#fff; color:var(--opc-ink); }
.opc-listing-head,.opc-shop-head { padding:70px 0 52px; border-bottom:1px solid var(--opc-line); background:var(--opc-paper); }
.opc-listing-head .opc-wrap { display:flex; align-items:end; justify-content:space-between; gap:36px; }
.opc-listing-head h1,.opc-shop-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-listing-head h1 span,.opc-shop-head h1 span { color:var(--opc-gold); }
.opc-listing-head p:last-child,.opc-shop-head p:last-child { max-width:650px; margin:25px 0 0; color:var(--opc-muted); font-size:18px; }
.opc-listing-head .opc-wrap>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-listing-list,.opc-shop-list { padding:46px 0 110px; }
.opc-listing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.opc-listing-card { min-width:0; overflow:hidden; border:1px solid var(--opc-line); background:#fff; }
.opc-listing-image { aspect-ratio:4/3; display:grid; place-items:center; background:#171717 center/cover no-repeat; color:var(--opc-gold); font-size:18px; font-weight:950; text-decoration:none; }
.opc-listing-copy { min-height:240px; display:flex; flex-direction:column; padding:24px; }
.opc-listing-copy>p { display:flex; justify-content:space-between; gap:12px; margin:0 0 20px; color:var(--opc-muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.opc-listing-copy>p strong { color:var(--opc-gold); }
.opc-listing-copy h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:30px; font-weight:400; letter-spacing:-.035em; line-height:1.02; }
.opc-listing-copy h2 a { color:var(--opc-ink); text-decoration:none; }
.opc-listing-copy>div { margin-top:15px; color:var(--opc-muted); font-size:14px; line-height:1.5; }
.opc-listing-copy footer { margin-top:auto; padding-top:26px; display:flex; justify-content:space-between; gap:12px; color:var(--opc-muted); font-size:12px; }
.opc-listing-copy footer b { color:var(--opc-ink); }

.opc-product-breadcrumb { display:flex; gap:9px; padding-top:25px; padding-bottom:25px; overflow:hidden; color:var(--opc-muted); font-size:11px; white-space:nowrap; }
.opc-product-breadcrumb a { color:inherit; }
.opc-product-breadcrumb b { overflow:hidden; color:var(--opc-ink); text-overflow:ellipsis; }
.opc-product-shell { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:clamp(36px,6vw,90px); padding-top:30px; padding-bottom:90px; }
.opc-product-gallery { min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-content:start; }
.opc-product-gallery figure { aspect-ratio:1/1; margin:0; overflow:hidden; background:var(--opc-paper); }
.opc-product-gallery figure.is-main { grid-column:1/-1; aspect-ratio:4/3; }
.opc-product-gallery img { width:100%; height:100%; display:block; object-fit:contain; }
.opc-product-summary { min-width:0; align-self:start; position:sticky; top:138px; padding-top:24px; }
.opc-product-summary h1 { margin:0; overflow-wrap:anywhere; font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,6vw,84px); font-weight:400; letter-spacing:-.06em; line-height:.88; }
.opc-product-summary .opc-kicker a { color:inherit; text-decoration:none; }
.opc-product-price { margin-top:26px; color:var(--opc-ink); font-size:27px; font-weight:900; }
.opc-product-price del { margin-right:9px; color:var(--opc-muted); font-size:18px; }
.opc-product-price ins { text-decoration:none; }
.opc-product-short { margin-top:26px; color:var(--opc-muted); font-size:17px; line-height:1.6; }
.opc-product-short p { margin:0 0 1em; }
.opc-product-stock { margin:22px 0 0; color:#39713c; font-size:12px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.opc-product-stock.out-of-stock { color:#a12d2d; }
.opc-product-stock .stock { margin:0; }
.opc-product-buy { margin-top:22px; padding:22px; background:var(--opc-paper); }
.opc-product-buy form.cart { display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.opc-product-buy .quantity input { box-sizing:border-box; width:76px; height:52px; padding:0 10px; border:1px solid #c9c3b6; background:#fff; font:inherit; text-align:center; }
.opc-product-buy button,.opc-product-buy .button { min-height:52px; padding:0 24px; border:0; border-radius:0; background:var(--opc-ink); color:#fff; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.opc-product-buy table.variations { width:100%; margin-bottom:15px; border-collapse:collapse; }
.opc-product-buy table.variations th,.opc-product-buy table.variations td { padding:6px 0; text-align:left; }
.opc-product-buy select { width:100%; min-height:48px; padding:10px; border:1px solid #c9c3b6; background:#fff; }
.opc-product-meta { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:22px; padding-top:20px; border-top:1px solid var(--opc-line); color:var(--opc-muted); font-size:11px; }
.opc-product-description { padding:82px 0; border-top:1px solid var(--opc-line); background:var(--opc-paper); }
.opc-product-description .opc-wrap { display:grid; grid-template-columns:.65fr 1.35fr; gap:50px; }
.opc-product-description .opc-kicker { grid-column:1/-1; margin-bottom:0; }
.opc-product-description h2,.opc-product-related h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(42px,5vw,68px); font-weight:400; letter-spacing:-.045em; line-height:.95; }
.opc-product-description .opc-wrap>div { color:#3d3b36; font-size:17px; line-height:1.7; }
.opc-product-description img { max-width:100%; height:auto; }
.opc-product-related { padding:82px 0 110px; background:#fff; }
.opc-product-related h2 { margin-bottom:35px; }
.opc-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.opc-product-card { min-width:0; overflow:hidden; border:1px solid var(--opc-line); background:#fff; }
.opc-product-card-image { aspect-ratio:1/1; display:block; overflow:hidden; background:var(--opc-paper); }
.opc-product-card-image img { width:100%; height:100%; display:block; object-fit:contain; transition:transform .25s ease; }
.opc-product-card:hover .opc-product-card-image img { transform:scale(1.025); }
.opc-product-card>div { min-height:190px; display:flex; flex-direction:column; padding:20px; }
.opc-product-card p { margin:0 0 12px; color:var(--opc-gold); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.opc-product-card p a { color:inherit; text-decoration:none; }
.opc-product-card h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:400; letter-spacing:-.03em; line-height:1.03; }
.opc-product-card h2 a { color:var(--opc-ink); text-decoration:none; }
.opc-product-card strong { margin-top:15px; font-size:15px; }
.opc-product-card-link { margin-top:auto; padding-top:22px; color:var(--opc-ink); font-size:10px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.opc-shop-head .opc-wrap { display:block; }
.opc-shop-list .navigation.pagination { margin-top:50px; }

/* 2.9 — city shop, category-first storefront and OPC NEWS sales presentation. */
.opc-shop-context { border-bottom:1px solid var(--opc-line); background:var(--opc-paper); }
.opc-shop-context .opc-wrap { padding-top:12px; padding-bottom:12px; }
.opc-city-switcher { display:flex; align-items:center; gap:18px; }
.opc-city-switcher>span { flex:0 0 auto; color:var(--opc-muted); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.opc-city-switcher>div { display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; }
.opc-city-switcher>div::-webkit-scrollbar { display:none; }
.opc-city-switcher a { flex:0 0 auto; padding:8px 13px; border:1px solid var(--opc-line); border-radius:999px; color:var(--opc-muted); font-size:9px; font-weight:900; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.opc-city-switcher a:hover,.opc-city-switcher a.is-active { border-color:var(--opc-ink); background:var(--opc-ink); color:#fff; }
.opc-shop-head .opc-city-switcher { margin-bottom:44px; }
.opc-shop-head .opc-city-switcher a { border-color:#c9c2b4; }
.opc-shop-categories { padding:64px 0 82px; border-bottom:1px solid var(--opc-line); background:#fff; }
.opc-shop-section-title { margin-bottom:32px; }
.opc-shop-section-title h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(40px,5vw,68px); font-weight:400; letter-spacing:-.045em; line-height:.95; }
.opc-shop-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.opc-shop-category-card { min-width:0; display:grid; grid-template-columns:.8fr 1.2fr; min-height:270px; overflow:hidden; border:1px solid var(--opc-line); background:var(--opc-paper); color:var(--opc-ink); text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.opc-shop-category-card:hover { transform:translateY(-4px); box-shadow:var(--opc-shadow); }
.opc-shop-category-image { min-height:270px; display:grid; place-items:center; background:center/cover no-repeat; }
.opc-shop-category-image b { color:rgba(255,255,255,.88); font-family:Georgia,'Times New Roman',serif; font-size:100px; font-weight:400; line-height:1; }
.opc-shop-category-card.tone-1 .opc-shop-category-image { background-color:#191817; }
.opc-shop-category-card.tone-2 .opc-shop-category-image { background-color:#a98435; }
.opc-shop-category-card.tone-3 .opc-shop-category-image { background-color:#5e574c; }
.opc-shop-category-card.tone-4 .opc-shop-category-image { background-color:#2f3836; }
.opc-shop-category-copy { min-width:0; display:flex; flex-direction:column; padding:25px; }
.opc-shop-category-copy small { color:var(--opc-gold); font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.opc-shop-category-copy strong { margin-top:26px; overflow-wrap:anywhere; font-family:Georgia,'Times New Roman',serif; font-size:30px; font-weight:400; letter-spacing:-.04em; line-height:.95; }
.opc-shop-category-copy em { margin-top:14px; color:var(--opc-muted); font-size:12px; font-style:normal; line-height:1.45; }
.opc-shop-category-copy i { margin-top:auto; padding-top:20px; font-size:9px; font-style:normal; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.opc-news-product-promise { display:grid; gap:8px; margin-top:25px; padding:18px 20px; border-left:4px solid var(--opc-gold); background:var(--opc-paper); color:#34322e; font-size:12px; font-weight:800; }
.opc-product-shell.is-news-product .opc-product-buy { background:#161616; }
.opc-product-shell.is-news-product .opc-product-buy button,.opc-product-shell.is-news-product .opc-product-buy .button { background:var(--opc-gold); color:#111; }
.opc-news-product-story { padding:82px 0; background:#141413; color:#fff; }
.opc-news-product-story .opc-wrap>header { display:grid; grid-template-columns:1fr 1fr; gap:22px 60px; align-items:end; margin-bottom:48px; }
.opc-news-product-story .opc-wrap>header .opc-kicker { grid-column:1/-1; margin:0; }
.opc-news-product-story h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,6vw,82px); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.opc-news-product-story .opc-wrap>header>p:last-child { margin:0; color:#bdb9b0; font-size:17px; line-height:1.55; }
.opc-news-product-story .opc-wrap>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #3c3a36; border-left:1px solid #3c3a36; }
.opc-news-product-story article { min-height:210px; padding:28px; border-right:1px solid #3c3a36; border-bottom:1px solid #3c3a36; }
.opc-news-product-story article small { color:var(--opc-gold); font-size:10px; font-weight:900; letter-spacing:.1em; }
.opc-news-product-story article h3 { margin:35px 0 12px; font-family:Georgia,'Times New Roman',serif; font-size:29px; font-weight:400; line-height:1; }
.opc-news-product-story article p { margin:0; color:#aaa69e; font-size:13px; line-height:1.5; }

/* 3.0 — modular newsroom homepage controlled from Appearance. */
.opc-home-module { padding:78px 0 92px; border-top:1px solid var(--opc-line); background:#fff; }
.opc-home-module:nth-of-type(even) { background:var(--opc-paper); }
.opc-home-module-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.opc-home-module-head .opc-kicker { margin:0 0 12px; }
.opc-home-module-head h1,.opc-home-module-head h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(44px,6vw,78px); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.opc-home-module-head h1 span,.opc-home-module-head h2 span { color:var(--opc-gold); }
.opc-home-module-head>a { flex:0 0 auto; padding-bottom:5px; color:var(--opc-ink); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.opc-news-only-feed .opc-home-module-head { margin-bottom:30px; }
.opc-home-market-grid,.opc-home-demand-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.opc-home-market-card { min-width:0; overflow:hidden; border:1px solid var(--opc-line); background:#fff; color:var(--opc-ink); text-decoration:none; }
.opc-home-market-image { aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; background:#171717 center/cover no-repeat; color:var(--opc-gold); font-size:12px; font-weight:950; letter-spacing:.08em; }
.opc-home-market-copy { min-height:170px; display:flex; flex-direction:column; padding:20px; }
.opc-home-market-copy small,.opc-home-demand-card small { color:var(--opc-gold); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.opc-home-market-copy strong { margin-top:13px; font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:400; letter-spacing:-.035em; line-height:1.03; }
.opc-home-market-copy em { margin-top:11px; color:var(--opc-muted); font-size:11px; font-style:normal; }
.opc-home-market-copy b { margin-top:auto; padding-top:18px; font-size:14px; }
.opc-home-demand-card { min-height:245px; display:flex; flex-direction:column; box-sizing:border-box; padding:25px; border:1px solid var(--opc-line); background:#fff; color:var(--opc-ink); text-decoration:none; }
.opc-home-demand-card strong { margin-top:28px; font-family:Georgia,'Times New Roman',serif; font-size:29px; font-weight:400; letter-spacing:-.04em; line-height:1; }
.opc-home-demand-card span { margin-top:15px; color:var(--opc-muted); font-size:13px; line-height:1.45; }
.opc-home-demand-card em { margin-top:auto; padding-top:24px; color:var(--opc-muted); font-size:10px; font-style:normal; }
.opc-home-empty-card { min-height:245px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; box-sizing:border-box; padding:28px; border:1px dashed #c7bfae; background:var(--opc-paper); color:var(--opc-ink); text-decoration:none; }
.opc-home-empty-card b { color:var(--opc-gold); font-size:46px; font-weight:300; }
.opc-home-empty-card strong { margin-top:15px; font-family:Georgia,'Times New Roman',serif; font-size:28px; font-weight:400; }
.opc-home-empty-card span { margin-top:10px; color:var(--opc-muted); font-size:12px; }
.opc-home-partners { background:#151513 !important; color:#fff; }
.opc-home-partners .opc-home-module-head>a { color:#fff; }
.opc-home-partner-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #3b3934; border-left:1px solid #3b3934; }
.opc-home-partner-card { position:relative; isolation:isolate; min-height:190px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:24px; border-right:1px solid #3b3934; border-bottom:1px solid #3b3934; background:#1c1b19 var(--opc-partner-image) center/cover no-repeat; color:#fff; text-decoration:none; }
.opc-home-partner-card::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.86)); }
.opc-home-partner-card.is-open { justify-content:center; background:#1c1b19; }
.opc-home-partner-card.is-open::before { background:none; }
.opc-home-partner-card span { position:absolute; top:22px; left:24px; color:var(--opc-gold); font-size:9px; font-weight:900; letter-spacing:.12em; }
.opc-home-partner-card strong { font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:400; line-height:1; }
.opc-home-partner-card em { margin-top:10px; color:#bdb8ad; font-size:9px; font-style:normal; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.opc-home-bottom-banner { border-top:8px solid var(--opc-gold); }
.opc-home-bottom-banner .opc-issue-ribbon-copy h2 { margin:0; font-size:clamp(50px,7vw,94px); font-weight:950; letter-spacing:-.075em; line-height:.8; text-transform:uppercase; }
.opc-home-bottom-banner .opc-issue-ribbon-copy h2 span { color:var(--opc-gold); }

/* Product media must respect the source aspect ratio, especially magazine covers. */
.opc-product-gallery figure.is-main { min-height:0; aspect-ratio:auto; background:#fff; }
.opc-product-gallery figure.is-main img { width:100%; height:auto; max-height:760px; object-fit:contain; object-position:center top; }
.opc-product-shell.is-news-product { grid-template-columns:minmax(320px,.88fr) minmax(360px,1.12fr); align-items:start; }
.opc-product-shell.is-news-product .opc-product-gallery { padding:24px; border:1px solid var(--opc-line); background:var(--opc-paper); }
.opc-product-shell.is-news-product .opc-product-gallery figure { background:transparent; }
.opc-product-shell.is-news-product .opc-product-summary { padding:34px 0 0; }
.opc-product-shell.is-news-product .opc-product-summary h1 { max-width:780px; font-size:clamp(52px,6vw,78px); }
.opc-product-shell.is-news-product .opc-product-short { max-width:690px; }

/* Woo shortcodes inside issue pages inherit the same readable card system. */
.woocommerce ul.products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px !important; margin:0 !important; padding:0 !important; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none !important; }
.woocommerce ul.products li.product { width:auto !important; float:none !important; clear:none !important; margin:0 !important; padding:0 0 20px !important; border:1px solid var(--opc-line); background:#fff; color:var(--opc-ink); }
.woocommerce ul.products li.product a img { width:100% !important; aspect-ratio:1/1; margin:0 0 18px !important; object-fit:contain; background:var(--opc-paper); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button { margin-left:18px !important; margin-right:18px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--opc-ink); font-family:Georgia,'Times New Roman',serif; font-size:23px !important; font-weight:400; line-height:1.05; }
.woocommerce ul.products li.product .price { color:var(--opc-ink) !important; font-weight:900 !important; }
.woocommerce ul.products li.product .button { border-radius:0 !important; background:var(--opc-ink) !important; color:#fff !important; font-size:10px !important; letter-spacing:.06em; text-transform:uppercase; }

@media (max-width:1000px) {
	.opc-main-nav a { padding-left:8px; padding-right:8px; font-size:9px; }
  .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)); }
	.opc-listing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.opc-product-grid,.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.opc-shop-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.opc-home-market-grid,.opc-home-demand-grid,.opc-home-partner-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-main-nav { display:none; }
  .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)); grid-template-columns:58px minmax(0,1fr); align-items:start; gap:12px 14px; padding:20px 16px 16px; border-radius:24px; }
  .opc-install-sheet:not([hidden]) { display:grid; }
  .opc-install-sheet>div { min-width:0; padding-right:22px; }
  .opc-install-sheet p { margin-top:5px; font-size:13px; line-height:1.45; }
  .opc-install-sheet .opc-install-confirm { grid-column:1/-1; width:100%; min-height:48px; margin:2px 0 0; }
  .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-home-module { padding:54px 0 64px; }
	.opc-home-module-head { align-items:flex-start; flex-direction:column; gap:16px; }
	.opc-home-module-head h1,.opc-home-module-head h2 { font-size:48px; }
  .opc-issue-ribbon .opc-wrap { min-height:190px; padding-top:27px; padding-bottom:27px; }
	.opc-issue-ribbon-copy h1 { font-size:52px; }
	.opc-home-bottom-banner .opc-issue-ribbon-copy h2 { 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 { box-sizing:border-box; width:100% !important; max-width:100%; min-width:0; padding:40px 20px 82px !important; overflow:hidden; }
  .opc-article>.wp-block-post-title { width:100%; max-width:100%; font-size:clamp(38px,10.5vw,48px) !important; letter-spacing:-.045em; line-height:.94; overflow-wrap:anywhere; hyphens:auto; }
  .opc-article>.wp-block-post-content,.opc-article>.wp-block-post-featured-image { width:100%; max-width:100%; min-width:0; }
  .opc-article .wp-block-post-content>* { max-width:100%; }
  .opc-article img,.opc-article iframe,.opc-article video { max-width:100%; height:auto; }
  .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; }
	.opc-listing-head,.opc-shop-head { padding:48px 0 36px; }
	.opc-listing-head .opc-wrap { align-items:flex-start; flex-direction:column; }
	.opc-listing-head h1,.opc-shop-head h1 { font-size:64px; }
	.opc-listing-head p:last-child,.opc-shop-head p:last-child { font-size:16px; }
	.opc-listing-list,.opc-shop-list { padding-top:24px; padding-bottom:82px; }
	.opc-product-shell { grid-template-columns:1fr; gap:28px; padding-top:5px; padding-bottom:58px; }
	.opc-product-shell.is-news-product { grid-template-columns:1fr; }
	.opc-product-shell.is-news-product .opc-product-gallery { padding:14px; }
	.opc-product-summary { position:static; padding-top:0; }
	.opc-product-summary h1 { font-size:54px; }
	.opc-product-description { padding:58px 0; }
	.opc-product-description .opc-wrap { grid-template-columns:1fr; gap:22px; }
	.opc-product-related { padding:58px 0 80px; }
	.opc-shop-head .opc-city-switcher { margin-bottom:30px; }
	.opc-city-switcher { align-items:flex-start; flex-direction:column; gap:9px; }
	.opc-city-switcher>div { width:100%; }
	.opc-shop-categories { padding:44px 0 58px; }
	.opc-shop-category-card { min-height:225px; grid-template-columns:.72fr 1.28fr; }
	.opc-shop-category-image { min-height:225px; }
	.opc-shop-category-copy { padding:20px; }
	.opc-shop-category-copy strong { margin-top:20px; font-size:27px; }
	.opc-news-product-story { padding:58px 0; }
	.opc-news-product-story .opc-wrap>header { grid-template-columns:1fr; gap:20px; margin-bottom:34px; }
	.opc-news-product-story .opc-wrap>header .opc-kicker { grid-column:auto; }
	.opc-product-gallery figure.is-main img { max-height:none; }
}

/* 3.4.2 — keep edition panel outside the photographic header crop. */
.opc-app-header .opc-app-primary { overflow:visible; }
@media (max-width:420px) {
  .opc-app-header .opc-app-primary { gap:6px; padding-left:9px; padding-right:9px; }
  .opc-app-header .opc-reality-wordmark { width:116px; }
  .opc-app-header .opc-edition-switcher summary { padding-left:6px; padding-right:6px; }
  .opc-app-header .opc-edition-switcher summary strong { max-width:72px; }
}
@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-home-bottom-banner .opc-issue-ribbon-copy h2 { 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; }
	.opc-listing-grid { grid-template-columns:1fr; }
	.opc-listing-copy { min-height:220px; }
	.opc-product-gallery { grid-template-columns:1fr 1fr; }
	.opc-product-summary h1 { font-size:46px; }
	.opc-product-grid,.woocommerce ul.products { grid-template-columns:1fr 1fr; gap:10px !important; }
	.opc-product-card>div { min-height:170px; padding:14px; }
	.opc-product-card h2,.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:19px !important; }
	.opc-issue-ribbon-copy nav { display:none; }
	.opc-shop-category-grid { grid-template-columns:1fr; }
	.opc-shop-category-card { min-height:205px; }
	.opc-shop-category-image { min-height:205px; }
	.opc-news-product-story .opc-wrap>div { grid-template-columns:1fr; }
	.opc-news-product-story article { min-height:0; }
	.opc-home-market-grid,.opc-home-demand-grid,.opc-home-partner-grid { grid-template-columns:1fr 1fr; gap:10px; }
	.opc-home-market-copy { min-height:145px; padding:16px; }
	.opc-home-market-copy strong { font-size:20px; }
	.opc-home-demand-card { min-height:220px; padding:19px; }
	.opc-home-demand-card strong { font-size:24px; }
	.opc-home-partner-card { min-height:155px; padding:18px; }
	.opc-home-partner-card span { top:17px; left:18px; }
	.opc-home-partner-card strong { font-size:21px; }
}

/* 3.2 — OPC Reality Gold. The physical branch becomes the visual language. */
body {
  background:#090806;
  color:#f8f1e4;
}
.opc-app-header {
  border-bottom:1px solid rgba(214,168,86,.48);
  background:#080706;
  box-shadow:0 10px 34px rgba(0,0,0,.38),0 1px 0 rgba(255,220,145,.10) inset;
}
.opc-app-primary {
  position:relative;
  isolation:isolate;
  min-height:78px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(6,5,4,.96) 0%,rgba(6,5,4,.90) 45%,rgba(6,5,4,.70) 100%),
    url('assets/reality-office.jpg') 50% 29%/cover no-repeat;
}
.opc-app-primary::after {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(115deg,transparent 0 36%,rgba(255,225,154,.08) 49%,transparent 63%),
    repeating-linear-gradient(115deg,transparent 0 118px,rgba(214,168,86,.05) 119px,transparent 120px);
  pointer-events:none;
}
.opc-app-logo { min-width:250px; }
.opc-reality-wordmark {
  width:286px;
  height:62px;
  display:block;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 0 13px rgba(228,180,87,.24));
}
.opc-main-nav { gap:8px; }
.opc-main-nav a {
  padding:11px 14px;
  border:1px solid transparent;
  border-radius:3px;
  color:#e7dac2;
  letter-spacing:.10em;
}
.opc-main-nav a:hover {
  border-color:rgba(214,168,86,.52);
  background:rgba(214,168,86,.08);
  color:var(--opc-gold-light);
}
.opc-top-install {
  border-color:rgba(214,168,86,.55);
  border-radius:3px;
  background:linear-gradient(180deg,rgba(214,168,86,.13),rgba(143,92,36,.07));
  color:#f8edda;
}
.opc-live-strip {
  border-top:1px solid rgba(214,168,86,.24);
  border-bottom:1px solid rgba(214,168,86,.28);
  background:#100e0b;
  color:#f4ebdc;
}
.opc-live-motto { color:#ad9e88; }
.opc-live-name i {
  background:var(--opc-gold-light);
  box-shadow:0 0 0 5px rgba(214,168,86,.14),0 0 18px rgba(255,218,128,.62);
}
.opc-live-action { border-left:1px solid rgba(214,168,86,.25); }
.opc-live-offer {
  background:linear-gradient(135deg,var(--opc-gold-light),var(--opc-gold) 44%,var(--opc-gold-deep));
}
.opc-live-demand { background:#050504; }

.opc-home.opc-news-only,
.opc-news-only-feed {
  background:
    radial-gradient(circle at 15% 5%,rgba(214,168,86,.09),transparent 25%),
    radial-gradient(circle at 88% 28%,rgba(125,76,27,.11),transparent 29%),
    linear-gradient(130deg,#090806,#14100c 55%,#080706);
  color:#f7efdf;
}
.opc-news-only-categories {
  border-color:#3d2f1f;
  background:#0d0b09;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.opc-news-only-categories a {
  border-color:#463622;
  border-radius:3px;
  color:#bfb09a;
  background:rgba(255,255,255,.015);
}
.opc-news-only-categories a small { color:var(--opc-gold); }
.opc-news-only-categories a:hover,
.opc-news-only-categories a.is-active {
  border-color:var(--opc-gold);
  background:linear-gradient(135deg,#f3ce82,#b77a31);
  color:#120e09;
  box-shadow:0 0 22px rgba(214,168,86,.18);
}
.opc-news-only-feed { padding-top:44px; }
.opc-home-module-head {
  padding-bottom:25px;
  border-bottom:1px solid rgba(214,168,86,.42);
}
.opc-home-module-head h1,
.opc-home-module-head h2 {
  color:inherit;
  text-shadow:0 5px 28px rgba(0,0,0,.28);
}
.opc-home-module-head h1 span,
.opc-home-module-head h2 span { color:var(--opc-gold-light); }
.opc-home-module-head>a { color:var(--opc-gold-light); }
.opc-news-only-grid { gap:52px 24px; }
.opc-news-only-card {
  position:relative;
  padding:10px 10px 28px;
  border:1px solid rgba(214,168,86,.22);
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008));
  box-shadow:0 22px 48px rgba(0,0,0,.18);
}
.opc-news-only-card::before {
  content:'';
  position:absolute;
  left:10px;
  right:10px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--opc-gold),transparent);
  opacity:.62;
}
.opc-news-only-image {
  border:1px solid rgba(255,223,151,.36);
  background-color:#15110d;
  box-shadow:0 12px 30px rgba(0,0,0,.34),0 0 28px rgba(214,168,86,.06);
}
.opc-news-only-copy { padding:21px 9px 0; }
.opc-news-only-copy>p { color:#a99d8c; }
.opc-news-only-copy>p strong { color:var(--opc-gold-light); }
.opc-news-only-copy h2 a { color:#fff8ea; }
.opc-news-only-copy h2 a:hover { color:var(--opc-gold-light); }
.opc-news-only-copy>div { color:#bdb2a2; }
.opc-news-only-copy>.opc-feed-item-detail {
  border-left-color:var(--opc-gold-light);
  background:rgba(214,168,86,.11);
  color:#f7e7c9;
}
.opc-feed-type-opc_offer .opc-news-only-image {
  box-shadow:inset 0 0 0 4px var(--opc-gold),0 12px 30px rgba(0,0,0,.34),0 0 30px rgba(214,168,86,.15);
}
.opc-news-only-pagination .page-numbers {
  border-color:#513c23;
  color:#ead9bd;
}
.opc-news-only-pagination .current {
  border-color:var(--opc-gold);
  background:var(--opc-gold);
  color:#100d09;
}

.opc-home-module { border-color:rgba(214,168,86,.30); }
.opc-home-offers,
.opc-home-products {
  background:linear-gradient(135deg,#f6f0e4,#e8dcc5) !important;
  color:var(--opc-ink);
}
.opc-home-offers .opc-home-module-head,
.opc-home-products .opc-home-module-head { border-color:#bda06c; }
.opc-home-offers .opc-home-module-head>a,
.opc-home-products .opc-home-module-head>a { color:var(--opc-ink); }
.opc-home-demands,
.opc-home-reality {
  background:
    radial-gradient(circle at 85% 10%,rgba(214,168,86,.12),transparent 27%),
    linear-gradient(145deg,#0b0907,#18120d) !important;
  color:#fff6e7;
}
.opc-home-demands .opc-home-module-head>a,
.opc-home-reality .opc-home-module-head>a { color:var(--opc-gold-light); }
.opc-home-demand-card {
  border-color:#594225;
  background:linear-gradient(145deg,#15110d,#0c0a08);
  color:#fff6e7;
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
.opc-home-demand-card span,
.opc-home-demand-card em { color:#b9ad9b; }
.opc-home-reality .opc-home-market-card {
  border-color:#594225;
  background:#100d0a;
  color:#fff6e7;
}
.opc-home-reality .opc-home-market-copy em { color:#b9ad9b; }
.opc-home-partners {
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(4,3,2,.94),rgba(8,6,4,.83)),
    url('assets/reality-office.jpg') center 48%/cover no-repeat !important;
}
.opc-home-partners::after {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,rgba(214,168,86,.04),rgba(0,0,0,.36));
}
.opc-home-partner-grid { border-color:#614826; }
.opc-home-partner-card {
  border-color:#614826;
  background-color:rgba(9,7,5,.82);
  box-shadow:0 0 30px rgba(214,168,86,.04) inset;
}
.opc-home-bottom-banner { border-top-color:var(--opc-gold); }

.opc-listing-board,
.opc-shop-page,
.opc-product-page { background:#f4efe5; }
.opc-listing-head,
.opc-shop-head,
.opc-demand-board-head {
  border-color:#5b4325;
  background:
    linear-gradient(90deg,rgba(7,5,3,.96),rgba(10,7,4,.76)),
    url('assets/reality-office.jpg') center 43%/cover no-repeat;
  color:#fff5e5;
}
.opc-listing-head p:last-child,
.opc-shop-head p:last-child,
.opc-demand-board-head p:last-child { color:#c7b8a1; }
.opc-listing-head .opc-wrap>a,
.opc-demand-board-head a {
  border:1px solid var(--opc-gold);
  border-radius:3px;
  background:linear-gradient(135deg,var(--opc-gold-light),var(--opc-gold-deep));
  color:#120e09;
}
.opc-product-shell { color:var(--opc-ink); }
.opc-product-summary h1 { color:#17100a; }
.opc-product-buy {
  border:1px solid #c4a66f;
  background:linear-gradient(145deg,#17120e,#090705);
  color:#fff2dc;
  box-shadow:0 18px 42px rgba(65,39,11,.18);
}
.opc-product-buy button,
.opc-product-buy .button {
  background:linear-gradient(135deg,var(--opc-gold-light),var(--opc-gold-deep)) !important;
  color:#100c08 !important;
}
.opc-product-gallery figure { border-color:#c4a66f; }
.opc-product-description { background:#ebe0ca; }
.opc-product-related { background:#f8f3e9; }
.opc-shop-category-card,
.opc-product-card,
.woocommerce ul.products li.product {
  border-color:#c8ae7e;
  box-shadow:0 16px 34px rgba(80,50,17,.07);
}

.opc-app-nav {
  border-top-color:#634925 !important;
  background:linear-gradient(180deg,rgba(12,10,8,.97),rgba(3,3,2,.99)) !important;
  box-shadow:0 -9px 28px rgba(0,0,0,.30);
}
.opc-app-nav .opc-app-add span {
  background:linear-gradient(135deg,var(--opc-gold-light),var(--opc-gold-deep));
  box-shadow:0 0 18px rgba(214,168,86,.30);
}

@media (max-width:1100px) {
  .opc-reality-wordmark { width:236px; height:56px; }
  .opc-app-logo { min-width:210px; }
  .opc-main-nav a { padding-left:8px; padding-right:8px; font-size:8px; }
}
@media (max-width:781px) {
  .opc-app-primary {
    min-height:66px;
    padding-left:13px;
    padding-right:13px;
    background:
      linear-gradient(90deg,rgba(6,5,4,.96),rgba(6,5,4,.76)),
      url('assets/reality-office.jpg') center 27%/cover no-repeat;
  }
  .opc-app-logo { min-width:0; }
  .opc-reality-wordmark { width:214px; height:52px; }
  .opc-live-strip { min-height:44px; }
  .opc-news-only-feed { padding-top:28px; }
  .opc-news-only-card { padding:7px 7px 23px; }
  .opc-news-only-copy { padding-left:6px; padding-right:6px; }
  .opc-home-module-head { padding-bottom:19px; }
}
@media (max-width:420px) {
  .opc-reality-wordmark { width:186px; height:47px; }
  .opc-top-install { width:40px; }
  .opc-news-only-grid { gap:32px; }
}

/* 3.3 — OPC Editions / Global Network. Edition and language stay separate. */
.opc-edition-switcher {
  position:relative;
  z-index:1200;
  flex:0 0 auto;
  color:#f8edda;
}
.opc-edition-switcher summary {
  min-width:182px;
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  border:1px solid rgba(232,190,108,.78);
  border-radius:5px;
  background:linear-gradient(145deg,rgba(66,45,19,.96),rgba(15,11,7,.98));
  color:#f7ead2;
  box-shadow:0 8px 24px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,232,177,.06);
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
  list-style:none;
}
.opc-edition-switcher summary::-webkit-details-marker { display:none; }
.opc-edition-globe { width:25px; height:25px; flex:0 0 25px; display:grid; place-items:center; border:1px solid rgba(255,229,161,.55); border-radius:50%; color:var(--opc-gold-light); font-size:16px; }
.opc-edition-label { min-width:0; display:flex; flex-direction:column; gap:2px; }
.opc-edition-label small { color:var(--opc-gold); font-size:7px; font-weight:950; letter-spacing:.17em; line-height:1; }
.opc-edition-switcher summary strong { max-width:180px; overflow:hidden; color:#fff7e8; font-size:10px; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }
.opc-edition-switcher summary i { margin-left:auto; color:var(--opc-gold-light); font-size:15px; font-style:normal; }
.opc-edition-switcher[open] summary { border-color:var(--opc-gold-light); background:linear-gradient(145deg,#6c4c22,#17100a); }
.opc-edition-panel {
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  width:min(460px,calc(100vw - 30px));
  max-height:min(650px,calc(100vh - 130px));
  overflow:auto;
  padding:18px;
  border:1px solid #795a2f;
  background:
    linear-gradient(145deg,rgba(11,8,5,.97),rgba(22,16,10,.98)),
    url('assets/reality-office.jpg') center/cover;
  box-shadow:0 30px 80px rgba(0,0,0,.58),0 0 0 1px rgba(255,225,154,.07) inset;
}
.opc-edition-panel>header {
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 20px;
  align-items:end;
  margin-bottom:15px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(214,168,86,.36);
}
.opc-edition-panel>header span { grid-column:1/-1; color:var(--opc-gold); font-size:8px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.opc-edition-panel>header b { font-family:Georgia,'Times New Roman',serif; font-size:29px; font-weight:400; letter-spacing:.03em; }
.opc-edition-panel>header a { color:#d9c7a9; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.opc-edition-list { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.opc-edition-list>a {
  min-width:0;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1px 9px;
  padding:11px;
  border:1px solid rgba(214,168,86,.20);
  background:rgba(255,255,255,.025);
  color:#fff4e2;
  text-decoration:none;
}
.opc-edition-list>a:hover,.opc-edition-list>a.is-active { border-color:var(--opc-gold); background:rgba(214,168,86,.12); }
.opc-edition-list>a>span { grid-row:1/3; font-size:21px; }
.opc-edition-list>a>b { overflow:hidden; font-size:10px; letter-spacing:.04em; text-overflow:ellipsis; white-space:nowrap; }
.opc-edition-list>a>small { overflow:hidden; color:#9f917e; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.opc-edition-empty { padding:18px; border:1px solid rgba(214,168,86,.24); background:rgba(255,255,255,.025); }
.opc-edition-empty b { color:#fff4e2; font-family:Georgia,'Times New Roman',serif; font-size:24px; font-weight:400; }
.opc-edition-empty p { margin:8px 0 17px; color:#ad9d86; font-size:12px; }
.opc-edition-empty a { color:var(--opc-gold-light); font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }

.opc-feed-context {
  display:flex;
  flex-wrap:wrap;
  gap:6px !important;
  margin:0 0 13px !important;
}
.opc-feed-context span {
  padding:5px 7px;
  border:1px solid rgba(214,168,86,.28);
  color:#d9c5a5;
  font-size:8px;
  font-weight:850;
  letter-spacing:.07em;
  line-height:1;
  text-transform:uppercase;
}

.opc-standard-page,.opc-index-fallback {
  min-height:65vh;
  background:var(--opc-paper);
  color:var(--opc-ink);
}
.opc-standard-page>.wp-block-post-title { max-width:980px; }
.opc-standard-page>.wp-block-post-content { width:100%; }
.opc-standard-page-inner { width:min(100% - 48px,920px); margin-inline:auto; padding:72px 0 96px; color:var(--opc-ink); }
.opc-standard-page-inner>h1 { margin:0 0 42px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,7vw,82px); font-weight:400; letter-spacing:-.055em; line-height:.92; }
.opc-page-content { min-width:0; }
.opc-editions-page {
  min-height:70vh;
  padding:46px 0 90px;
  background:
    radial-gradient(circle at 14% 2%,rgba(214,168,86,.14),transparent 26%),
    linear-gradient(135deg,#080705,#17110c 58%,#070605);
  color:#fff5e5;
}
.opc-editions-page .wp-block-post-content>section,
.opc-editions-page .opc-page-content>section {
  max-width:1180px !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.opc-editions-page .wp-block-post-content>section a,
.opc-editions-page .opc-page-content>section a {
  border-color:#604726 !important;
  border-radius:3px !important;
  background:linear-gradient(145deg,#17120e,#0b0907) !important;
  color:#fff5e5 !important;
  box-shadow:0 16px 35px rgba(0,0,0,.20);
}
.opc-editions-page .wp-block-post-content>section a:hover,
.opc-editions-page .opc-page-content>section a:hover {
  border-color:var(--opc-gold) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.30),0 0 24px rgba(214,168,86,.09);
  transform:translateY(-2px);
}

@media (max-width:1200px) {
  .opc-edition-switcher summary { min-width:148px; padding-left:10px; padding-right:10px; }
  .opc-edition-switcher summary strong { max-width:112px; }
}
@media (max-width:781px) {
  .opc-app-primary { gap:7px; }
  .opc-reality-wordmark { width:152px; height:46px; }
  .opc-edition-switcher { min-width:0; flex:1 1 auto; }
  .opc-edition-switcher summary { min-width:0; min-height:42px; justify-content:center; padding:0 8px; }
  .opc-edition-globe { width:22px; height:22px; flex-basis:22px; font-size:14px; }
  .opc-edition-label small { display:none; }
  .opc-edition-switcher summary strong { max-width:112px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .opc-edition-panel {
    position:fixed;
    top:111px;
    left:10px;
    right:10px;
    width:auto;
    max-height:calc(100vh - 190px);
  }
  .admin-bar .opc-edition-panel { top:157px; }
  .opc-editions-page { padding-top:24px; padding-bottom:72px; }
  .opc-standard-page-inner { width:min(100% - 28px,920px); padding-top:48px; padding-bottom:72px; }
}
@media (max-width:420px) {
  .opc-reality-wordmark { width:130px; height:43px; }
  .opc-edition-switcher summary strong { max-width:92px; font-size:8px; }
  .opc-edition-list { grid-template-columns:1fr; }
}

/* 3.4 — stable partner and municipality profiles. */
.opc-company-single { background:var(--opc-paper); color:var(--opc-ink); }
.opc-company-content { padding:54px 0 78px; background:linear-gradient(180deg,#ece5d7 0,#f7f4ed 32%,#fff 100%); }
.opc-company-single .opc34-wrap { box-sizing:border-box; width:min(100% - 48px,1240px); max-width:1240px; margin:0 auto; padding:0; }
.opc-company-single .opc34-profile { overflow:hidden; display:grid; grid-template-columns:1.02fr .98fr; min-height:520px; margin:0; padding:0; border:1px solid #4e3b22; border-radius:28px; background:radial-gradient(circle at 18% 0,rgba(214,168,86,.16),transparent 29%),#12100e; color:#fff; box-shadow:0 28px 70px rgba(33,24,12,.18); }
.opc-company-single .opc34-copy { box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; width:auto; padding:58px; color:#fff; }
.opc-company-single .opc34-kicker,.opc-company-single .opc34-label { color:var(--opc-gold); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.opc-company-single .opc34-heading { display:flex; align-items:center; gap:24px; margin-top:20px; }
.opc-company-single .opc34-heading h1 { margin:0; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,5.5vw,82px); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.opc-company-single .opc34-logo { width:88px; height:88px; flex:0 0 88px; overflow:hidden; display:grid; place-items:center; border:1px solid rgba(214,168,86,.55); border-radius:50%; background:#fff; }
.opc-company-single .opc34-logo img { width:100%; height:100%; object-fit:cover; }
.opc-company-single .opc34-verified { width:max-content; margin-bottom:10px; padding:5px 9px; border-radius:999px; background:rgba(214,168,86,.15); color:#efd090; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.opc-company-single .opc34-rating { margin-top:25px; color:#d9d1c4; font-size:12px; }
.opc-company-single .opc34-meta { display:flex!important; flex-wrap:wrap!important; gap:9px 20px!important; margin-top:20px!important; color:#c7bdae!important; font-size:13px!important; }
.opc-company-single .opc34-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.opc-company-single .opc34-btn { padding:12px 15px; border:1px solid #5c5144; border-radius:999px; color:#fff !important; font-size:10px; font-weight:900; letter-spacing:.06em; text-decoration:none !important; text-transform:uppercase; }
.opc-company-single .opc34-btn:hover,.opc-company-single .opc34-btn.primary { border-color:var(--opc-gold); background:var(--opc-gold); color:#111 !important; }
.opc-company-single .opc34-photo { width:auto; min-height:520px; background:#1d1812; }
.opc-company-single .opc34-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.opc-company-single .opc34-text { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:24px; overflow:hidden; border:1px solid var(--opc-line); border-radius:24px; background:var(--opc-line); }
.opc-company-single .opc34-text>div { padding:42px; background:#fff; }
.opc-company-single .opc34-text p { margin:18px 0 0; color:#4d4942; font-size:16px; line-height:1.72; }
.opc-company-single .opc34-comments { margin-top:24px; padding:42px; border:1px solid var(--opc-line); border-radius:24px; background:#fff; }
.opc-company-single .opc34-comments h2,.opc-company-single .opc34-comments h3 { font-family:Georgia,'Times New Roman',serif; font-weight:400; }

.opc-partner-dashboard { padding:78px 0; background:#11100e; color:#fff; }
.opc-partner-market { padding:82px 0 105px; background:#fff; }
.opc-partner-head { display:flex; align-items:flex-end; justify-content:space-between; gap:34px; margin-bottom:38px; }
.opc-partner-head>div:first-child { max-width:780px; }
.opc-partner-head h2 { margin:7px 0 18px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(44px,6vw,76px); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.opc-partner-head h2 span { color:var(--opc-gold); }
.opc-partner-head p:last-child { max-width:650px; margin:0; color:#aaa49a; font-size:16px; }
.opc-partner-market .opc-partner-head p:last-child { color:var(--opc-muted); }
.opc-partner-rate { flex:0 0 auto; padding:14px 18px; border:1px solid #625641; border-radius:999px; color:#fff; font-size:10px; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.opc-partner-rate:hover { border-color:var(--opc-gold); background:var(--opc-gold); color:#111; }
.opc-partner-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid #3f392f; border-left:1px solid #3f392f; }
.opc-partner-stats>div { min-height:190px; display:flex; flex-direction:column; justify-content:space-between; padding:24px; border-right:1px solid #3f392f; border-bottom:1px solid #3f392f; }
.opc-partner-stats small { color:#a59c90; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.opc-partner-stats strong { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:54px; font-weight:400; line-height:1; }
.opc-partner-stats strong i { color:var(--opc-gold); font-size:19px; font-style:normal; }
.opc-partner-stats span { color:#898278; font-size:11px; }
.opc-partner-position { background:linear-gradient(145deg,rgba(214,168,86,.18),rgba(214,168,86,.03)); }
.opc-partner-publish { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.opc-partner-publish a { padding:13px 15px; border:1px solid var(--opc-line); border-radius:999px; color:var(--opc-ink); font-size:9px; font-weight:900; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.opc-partner-publish a:first-child { border-color:var(--opc-ink); background:var(--opc-ink); color:#fff; }
.opc-partner-publish a:hover { border-color:var(--opc-gold); background:var(--opc-gold); color:#111; }
.opc-partner-filters { display:flex; gap:8px; margin:-8px 0 26px; }
.opc-partner-filters button { padding:9px 13px; border:1px solid var(--opc-line); border-radius:999px; background:#fff; color:var(--opc-muted); font:900 9px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.opc-partner-filters button.is-active { border-color:#111; background:#111; color:#fff; }
.opc-partner-offers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.opc-partner-offers article { overflow:hidden; border:1px solid var(--opc-line); border-radius:20px; background:#fff; }
.opc-partner-offers article[hidden] { display:none; }
.opc-partner-offer-image { aspect-ratio:4/3; display:grid; place-items:center; background:#16130f center/cover no-repeat; color:var(--opc-gold); font-size:18px; font-weight:950; text-decoration:none; }
.opc-partner-offers article>div { padding:23px; }
.opc-partner-offers small { color:var(--opc-gold); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.opc-partner-offers h3 { margin:10px 0; font-family:Georgia,'Times New Roman',serif; font-size:27px; font-weight:400; line-height:1.04; }
.opc-partner-offers h3 a { color:var(--opc-ink); text-decoration:none; }
.opc-partner-offers p { color:var(--opc-muted); font-size:13px; }
.opc-partner-offers footer { display:flex; justify-content:space-between; gap:10px; margin-top:22px; padding-top:15px; border-top:1px solid var(--opc-line); font-size:11px; }
.opc-partner-offers footer b { color:#111; }
.opc-partner-empty { min-height:210px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; align-content:center; gap:5px 20px; padding:34px; border:1px dashed var(--opc-line); border-radius:22px; color:var(--opc-ink); text-decoration:none; }
.opc-partner-empty>b { grid-row:1/3; align-self:center; color:var(--opc-gold); font-family:Georgia,serif; font-size:58px; font-weight:400; }
.opc-partner-empty>strong { align-self:end; font-family:Georgia,serif; font-size:30px; font-weight:400; }
.opc-partner-empty>span { color:var(--opc-muted); font-size:13px; }
.opc-company-form-context { display:flex; flex-direction:column; gap:4px; margin:0 0 24px; padding:18px; border-left:4px solid var(--opc-gold); background:#111; color:#fff; }
.opc-company-form-context small { color:var(--opc-gold); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.opc-company-form-context strong { font-family:Georgia,serif; font-size:24px; font-weight:400; }

/* 3.4.3 — company profiles must remain readable even when OPC Katalog prints
   its own later inline styles or WordPress selects the block template path. */
body.single-firma { overflow-x:hidden; background:var(--opc-paper); color:var(--opc-ink); }
body.single-firma .opc-company-content { margin:0; padding:54px 0 78px; }
.opc34-profile { color:#fff !important; }
.opc34-profile .opc34-copy { color:#fff !important; }
.opc34-profile .opc34-heading h1,
.opc34-profile .opc34-heading h1 a { color:#fff !important; opacity:1 !important; visibility:visible !important; }
.opc34-profile .opc34-kicker,
.opc34-profile .opc34-label { color:var(--opc-gold) !important; }
.opc34-profile .opc34-rating { color:#e3ddd3 !important; }
.opc34-profile .opc34-meta,
.opc34-profile .opc34-meta a { color:#d2c8b8 !important; }
.opc34-profile .opc34-photo { color:#f3ead9 !important; }
.opc34-profile .opc34-btn:not(.primary) { color:#fff !important; }

/* 3.4.4 — visible purchase path and compact mobile header. */
.opc-header-tools { flex:0 0 auto; display:flex; align-items:center; gap:8px; }
.opc-cart-link {
  position:relative; min-height:42px; box-sizing:border-box; display:flex; align-items:center; gap:8px;
  padding:0 12px; border:1px solid rgba(214,168,86,.72); border-radius:3px;
  background:#f5dfad; color:#120e09 !important; font-size:10px; font-weight:950;
  letter-spacing:.06em; line-height:1; text-decoration:none !important; text-transform:uppercase; white-space:nowrap;
}
.opc-cart-link:hover { background:#fff0c8; color:#000 !important; }
.opc-cart-icon { width:20px; height:20px; display:grid; place-items:center; }
.opc-cart-icon svg { width:20px; height:20px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.opc-cart-icon circle { fill:currentColor; stroke:none; }
.opc-cart-count { min-width:19px; height:19px; display:grid; place-items:center; border-radius:999px; background:#111; color:#fff; font-size:9px; }
.opc-product-cart-cta { min-height:46px; display:flex; align-items:center; justify-content:center; margin-top:11px; border:1px solid #d6a856; color:#f8e8c4 !important; font-size:10px; font-weight:950; letter-spacing:.08em; text-decoration:none !important; text-transform:uppercase; }
.opc-product-cart-cta:hover { background:#d6a856; color:#111 !important; }
.opc-woo-notices { padding-top:24px; }
.opc-woo-notices:empty { display:none; }
.opc-woo-notices .woocommerce-message,.opc-woo-notices .woocommerce-error,.opc-woo-notices .woocommerce-info { margin:0; border-top-color:#d6a856; background:#fff; color:#111; }

@media (max-width:1180px) and (min-width:782px) {
  .opc-app-primary { gap:9px; }
  .opc-main-nav { gap:1px; }
  .opc-main-nav a { padding-left:7px; padding-right:7px; font-size:8px; }
  .opc-cart-link { padding-left:9px; padding-right:9px; }
  .opc-cart-label { display:none; }
}

@media (max-width:781px) {
  .opc-app-primary { gap:6px; padding-left:9px; padding-right:9px; }
  .opc-app-logo { flex:0 1 auto; }
  .opc-reality-wordmark { width:130px; }
  .opc-edition-switcher { flex:1 1 auto; }
  .opc-edition-switcher summary { padding-left:5px; padding-right:5px; }
  .opc-edition-globe,.opc-edition-switcher summary i { display:none; }
  .opc-edition-switcher summary strong { max-width:84px; }
  .opc-header-tools { gap:5px; }
  .opc-cart-link { width:40px; min-height:40px; justify-content:center; padding:0; border-radius:50%; }
  .opc-cart-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .opc-cart-count { position:absolute; top:-5px; right:-4px; min-width:18px; height:18px; border:2px solid #100e0b; background:#fff; color:#111; font-size:8px; }
  .opc-top-install { width:40px; min-height:40px; border-radius:50%; }
}

@media (max-width:360px) {
  .opc-reality-wordmark { width:104px; }
  .opc-edition-switcher summary strong { max-width:62px; font-size:7px; }
  .opc-header-tools { gap:3px; }
  .opc-cart-link,.opc-top-install { width:38px; min-height:38px; }
}

@media (max-width:1080px) {
  .opc-partner-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:781px) {
  .opc-company-content { padding:18px 0 54px; }
  .opc-company-single .opc34-wrap { width:min(100% - 24px,1240px); }
  .opc-company-single .opc34-profile { grid-template-columns:1fr; min-height:0; border-radius:20px; }
  .opc-company-single .opc34-copy { padding:30px 24px 34px; }
  .opc-company-single .opc34-photo { min-height:280px; grid-row:1; }
  .opc-company-single .opc34-heading { align-items:flex-start; gap:15px; }
  .opc-company-single .opc34-logo { width:62px; height:62px; flex-basis:62px; }
  .opc-company-single .opc34-heading h1 { font-size:44px; }
  .opc-company-single .opc34-text { grid-template-columns:1fr; }
  .opc-company-single .opc34-text>div,.opc-company-single .opc34-comments { padding:27px 23px; }
  .opc-partner-dashboard,.opc-partner-market { padding:58px 0 82px; }
  .opc-partner-head { align-items:flex-start; flex-direction:column; }
  .opc-partner-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opc-partner-stats>div { min-height:150px; padding:19px; }
  .opc-partner-stats strong { font-size:43px; }
  .opc-partner-position { grid-column:1/-1; }
  .opc-partner-publish { justify-content:flex-start; }
  .opc-partner-offers { grid-template-columns:1fr; }
  .opc-partner-filters { overflow-x:auto; }
}
