/*
Theme Name: Opava.City AI Edition
Theme URI: https://opava.city
Author: Opava City s.r.o.
Description: Definitivní AI navržená městská aplikace Opava.City: hledání, magazín, poptávky, nabídky, partneři a obchod v jednom systému.
Version: 4.6.0
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; }
}

/* 4.4.5 — extract only the functional voucher form from the plugin card. */
body.opc-enter-page { margin:0; overflow:hidden !important; background:#f7f3ea; }
body.opc-enter-page .opc-app-header,
body.opc-enter-page .opc-footer { display:none !important; }
body.opc-enter-page .opc-selected-home { display:contents; }
.opc-enter,.opc-enter * { box-sizing:border-box; }
.opc-enter {
  --enter-gold:#c99a46; --enter-gold-dark:#8b611f; --enter-ink:#17130e; --enter-paper:#f7f3ea; --enter-white:#fffdf8; --enter-muted:#746c60; --enter-line:#d9c9aa;
  position:relative; isolation:isolate; width:100%; max-width:100vw; height:100svh; min-height:0; overflow:hidden;
  display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:0 clamp(18px,4vw,72px);
  background:
    radial-gradient(circle at 12% 12%,rgba(201,154,70,.13),transparent 27%),
    radial-gradient(circle at 88% 82%,rgba(201,154,70,.09),transparent 25%),
    linear-gradient(118deg,#fffdfa 0%,#f3ecdf 52%,#fffdf8 100%);
  color:var(--enter-ink); font-family:Arial,Helvetica,sans-serif;
}
.opc-enter::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.27; background-image:linear-gradient(30deg,transparent 47%,rgba(164,112,31,.08) 48%,rgba(164,112,31,.08) 49%,transparent 50%),linear-gradient(150deg,transparent 47%,rgba(164,112,31,.055) 48%,rgba(164,112,31,.055) 49%,transparent 50%); background-size:104px 180px; mask-image:linear-gradient(to right,transparent,#000 25%,#000 75%,transparent); }
.opc-enter-monogram { position:absolute; z-index:-1; top:52%; left:50%; translate:-50% -51%; color:transparent; font-family:Georgia,'Times New Roman',serif; font-size:min(52vw,680px); font-weight:400; line-height:1; opacity:.075; -webkit-text-stroke:1px var(--enter-gold); white-space:nowrap; }
.opc-enter-header { width:min(100%,1480px); min-width:0; min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:18px; margin:auto; border-bottom:1px solid var(--enter-line); }
.opc-enter-domain { display:flex; align-items:center; gap:13px; color:var(--enter-ink) !important; text-decoration:none !important; }
.opc-enter-domain b { font-size:11px; letter-spacing:.15em; }
.opc-enter-domain span { padding-left:13px; border-left:1px solid var(--enter-line); color:var(--enter-muted); font-family:Georgia,'Times New Roman',serif; font-size:12px; }
.opc-enter-header>nav { min-width:0; display:flex; align-items:center; gap:7px; }
.opc-enter-header>nav>a:not(.opc-cart-link) { min-height:40px; display:grid; place-items:center; padding:0 15px; border:1px solid var(--enter-line); background:rgba(255,255,255,.52); color:var(--enter-ink) !important; font:inherit; font-size:8px; font-weight:900; letter-spacing:.09em; text-decoration:none !important; text-transform:uppercase; cursor:pointer; }
.opc-enter .opc-cart-link { position:relative; min-width:106px; min-height:40px; justify-content:center; border:1px solid var(--enter-ink); border-radius:0; background:var(--enter-ink); color:#fff !important; }
.opc-enter .opc-cart-icon svg { stroke:#fff; }
.opc-enter .opc-cart-count { background:var(--enter-gold); color:#111; }
.opc-enter-stage { width:min(100%,860px); min-width:0; min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:center; margin:auto; padding:clamp(9px,1.6vh,18px) 0; text-align:center; }
.opc-enter-identity { display:flex; align-items:center; gap:15px; color:var(--enter-ink) !important; text-align:left; text-decoration:none !important; }
.opc-enter-identity img { width:52px; height:63px; display:block; }
.opc-enter-identity>span { display:flex; flex-direction:column; gap:6px; }
.opc-enter-identity b { font-size:28px; font-weight:950; letter-spacing:-.055em; line-height:1; }
.opc-enter-identity small { color:var(--enter-gold-dark); font-size:7px; font-weight:900; letter-spacing:.2em; }
.opc-enter-edition { display:flex; align-items:center; gap:10px; margin:clamp(9px,1.25vh,14px) 0; color:var(--enter-gold-dark); font-size:8px; font-weight:900; letter-spacing:.18em; }
.opc-enter-edition span { width:32px; height:1px; background:var(--enter-gold); }
.opc-enter-hello { margin:0 0 5px; color:var(--enter-gold-dark); font-family:Georgia,'Times New Roman',serif; font-size:13px; font-style:italic; }
.opc-enter-stage>h1 { max-width:100%; margin:0; color:var(--enter-ink); font-family:Georgia,'Times New Roman',serif; font-size:clamp(44px,5.4vw,70px); font-weight:400; letter-spacing:-.055em; line-height:.94; overflow-wrap:anywhere; }
.opc-enter-lead { max-width:640px; margin:clamp(7px,1.2vh,12px) auto 0; color:#514a40; font-size:clamp(12px,1vw,15px); line-height:1.45; }
.opc-enter-ai { position:relative; z-index:10; width:min(100%,760px); min-width:0; margin-top:clamp(12px,1.8vh,18px); }
.opc-enter-ai>form { display:grid; grid-template-columns:minmax(0,1fr) 64px; min-height:66px; border:1px solid var(--enter-line); background:rgba(255,253,248,.97); box-shadow:0 18px 55px rgba(71,50,17,.12); text-align:left; }
.opc-enter-ai label { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; padding:0 10px 0 22px; }
.opc-enter-ai label>span { color:var(--enter-gold-dark); font-size:8px; font-weight:950; letter-spacing:.13em; white-space:nowrap; }
.opc-enter-ai input { min-width:0; width:100%; height:64px; padding:0; border:0; outline:0; background:transparent; color:#15110b; font-family:Georgia,'Times New Roman',serif; font-size:20px; }
.opc-enter-ai input::placeholder { color:#80766a; opacity:1; }
.opc-enter-ai form>button { border:0; border-left:1px solid var(--enter-line); background:var(--enter-gold); color:#130f09; font-family:Georgia,'Times New Roman',serif; font-size:31px; cursor:pointer; }
.opc-enter-ai form>button:disabled { opacity:.5; cursor:wait; }
.opc-enter-prompts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:9px; }
.opc-enter-prompts button { min-width:0; padding:8px 7px; border:1px solid var(--enter-line); border-radius:100px; background:rgba(255,255,255,.52); color:#4f473c; font-size:8px; font-weight:800; letter-spacing:.04em; cursor:pointer; white-space:nowrap; }
.opc-enter-prompts button:hover { border-color:var(--enter-gold); background:#fff; color:#111; }
.opc-enter-answer { position:absolute; z-index:50; top:0; left:0; right:0; max-height:min(430px,52vh); box-sizing:border-box; overflow:auto; padding:27px; border:1px solid var(--enter-gold); background:rgba(255,253,248,.99); box-shadow:0 28px 90px rgba(45,31,10,.22); color:var(--enter-ink); text-align:left; }
.opc-enter-answer>[data-opc-close] { position:absolute; top:10px; right:12px; width:34px; height:34px; border:1px solid var(--enter-line); border-radius:50%; background:#fff; color:#111; font-size:22px; cursor:pointer; }
.opc-enter-answer>small { color:var(--enter-gold-dark); font-size:8px; font-weight:950; letter-spacing:.16em; }
.opc-enter-answer>p { max-width:730px; margin:13px 42px 19px 0; color:var(--enter-ink); font-family:Georgia,'Times New Roman',serif; font-size:clamp(21px,2vw,30px); line-height:1.06; }
.opc-enter-answer>[data-opc-results] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--enter-line); }
.opc-enter-answer>[data-opc-results]>a { min-width:0; display:grid; grid-template-columns:1fr auto; gap:5px 12px; padding:14px; background:#fff; color:var(--enter-ink) !important; text-decoration:none !important; }
.opc-enter-answer a small { grid-column:1/-1; color:var(--enter-gold-dark); font-size:7px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.opc-enter-answer a b { min-width:0; overflow:hidden; font-family:Georgia,'Times New Roman',serif; font-size:16px; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.opc-enter-answer a span { align-self:center; color:var(--enter-gold-dark); font-size:8px; font-weight:900; text-transform:uppercase; }
.opc-enter-voucher-inline { width:min(100%,760px); min-width:0; height:50px; display:grid; grid-template-columns:128px minmax(0,1fr); align-items:stretch; gap:0; margin-top:8px; overflow:hidden; border:1px solid var(--enter-line); background:rgba(255,253,248,.94); text-align:left; }
.opc-enter-voucher-inline>header { display:grid; align-content:center; gap:4px; padding:10px 14px; border-right:1px solid var(--enter-line); }
.opc-enter-voucher-inline>header small { color:var(--enter-gold-dark); font-size:6px; font-weight:900; letter-spacing:.11em; }
.opc-enter-voucher-inline>header b { font-family:Georgia,'Times New Roman',serif; font-size:15px; font-weight:400; line-height:1; }
.opc-enter-voucher-inline>.opc-enter-voucher-widget { min-width:0; height:48px; display:block !important; overflow:hidden; padding:0 !important; border:0 !important; border-radius:0 !important; background:#fff !important; }
.opc-enter-voucher-inline>.opc-enter-voucher-widget.is-ready { display:flex !important; align-items:stretch; }
.opc-enter-voucher-inline>.opc-enter-voucher-widget :where(div,section,article,.card) { display:contents !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.opc-enter-voucher-inline>.opc-enter-voucher-widget :where(h1,h2,h3,h4,p,hr) { display:none !important; }
.opc-enter-voucher-inline form { width:100% !important; min-height:48px !important; display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; align-items:stretch !important; gap:0 !important; margin:0 !important; padding:0 !important; border:0 !important; background:#fff !important; }
.opc-enter-voucher-inline form label { min-width:0; display:block !important; margin:0 !important; padding:0 !important; font-size:0 !important; }
.opc-enter-voucher-inline form input[type="text"],.opc-enter-voucher-inline form input:not([type]),.opc-enter-voucher-inline form input[type="search"] { width:100% !important; min-width:0 !important; height:48px !important; margin:0 !important; padding:0 13px !important; border:0 !important; border-radius:0 !important; outline:0; background:#fff !important; color:var(--enter-ink) !important; font:13px Arial,Helvetica,sans-serif !important; box-shadow:none !important; }
.opc-enter-voucher-inline form button,.opc-enter-voucher-inline form input[type="submit"] { min-width:105px !important; min-height:48px !important; margin:0 !important; padding:0 13px !important; border:0 !important; border-left:1px solid var(--enter-line) !important; border-radius:0 !important; background:#fffaf0 !important; color:#6f4a13 !important; font:900 7px Arial,Helvetica,sans-serif !important; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; cursor:pointer; }
.opc-enter-voucher-inline>div>a { width:100%; padding:15px; color:var(--enter-gold-dark) !important; font-size:8px; font-weight:900; text-align:center; text-decoration:none !important; text-transform:uppercase; }
.opc-enter-voucher-inline h1,.opc-enter-voucher-inline h2,.opc-enter-voucher-inline h3 { display:none; }
.opc-enter-news { width:min(100%,760px); min-width:0; min-height:58px; display:grid; grid-template-columns:32px minmax(0,1fr) 32px; align-items:center; gap:12px; margin-top:clamp(12px,1.7vh,18px); padding:10px 19px; border:1px solid var(--enter-ink); background:var(--enter-ink); color:#fff !important; text-align:center; text-decoration:none !important; }
.opc-enter-news>span { min-width:0; display:grid; justify-items:center; gap:4px; }
.opc-enter-news small { color:#d7ac5c; font-size:7px; font-weight:900; letter-spacing:.15em; }
.opc-enter-news b { overflow:hidden; font-family:Georgia,'Times New Roman',serif; font-size:clamp(19px,2vw,25px); font-weight:400; line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.opc-enter-news i { flex:0 0 auto; color:var(--enter-gold); font-family:Georgia,'Times New Roman',serif; font-size:26px; font-style:normal; }
.opc-enter-news:hover { border-color:var(--enter-gold-dark); background:#21180e; }
.opc-enter-actions { width:min(100%,760px); display:flex; justify-content:center; flex-wrap:wrap; gap:20px; margin-top:10px; }
.opc-enter-actions>a { color:#4e463b !important; font-size:8px; font-weight:950; letter-spacing:.07em; text-decoration:none !important; text-transform:uppercase; }
.opc-enter-actions>a:hover { color:var(--enter-gold-dark) !important; }
.opc-enter-footer { width:min(100%,1480px); min-width:0; min-height:48px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:22px; margin:auto; border-top:1px solid var(--enter-line); color:#7c7265; font-size:7px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.opc-enter-footer>div { display:flex; gap:12px; }
.opc-enter-footer>div b { color:#39342d; }
.opc-enter-footer nav { display:flex; gap:20px; }
.opc-enter-footer a { color:#4f473c !important; text-decoration:none !important; }
.opc-enter-footer>span { text-align:right; }
.admin-bar .opc-enter { height:calc(100svh - 32px); }

@media (max-width:781px) {
  body.opc-enter-page { padding-bottom:0 !important; }
  .opc-enter { width:100%; max-width:100vw; height:100svh; padding:0 14px calc(70px + env(safe-area-inset-bottom)); }
  .admin-bar .opc-enter { height:calc(100svh - 46px); }
  .opc-enter::before { background-size:64px 112px; }
  .opc-enter-monogram { top:46%; font-size:90vw; }
  .opc-enter-header { min-height:58px; gap:7px; }
  .opc-enter-domain { gap:0; }
  .opc-enter-domain b { font-size:8px; }
  .opc-enter-domain span { display:none; }
  .opc-enter-header>nav { gap:5px; }
  .opc-enter-header>nav>a:not(.opc-cart-link) { min-width:38px; min-height:36px; padding:0 7px; font-size:6px; }
  .opc-enter .opc-cart-link { min-width:42px; width:42px; min-height:42px; padding:0; border-radius:50%; }
  .opc-enter .opc-cart-label { display:none; }
  .opc-enter .opc-cart-count { position:absolute; top:-4px; right:-3px; }
  .opc-enter-stage { justify-content:center; padding:8px 0 4px; }
  .opc-enter-identity { gap:10px; }
  .opc-enter-identity img { width:39px; height:48px; }
  .opc-enter-identity b { font-size:23px; }
  .opc-enter-identity small { font-size:5px; }
  .opc-enter-edition { margin:7px 0 9px; font-size:6px; letter-spacing:.12em; }
  .opc-enter-edition span { width:20px; }
  .opc-enter-hello { margin-bottom:4px; font-size:10px; }
  .opc-enter-stage>h1 { font-size:clamp(38px,10.8vw,51px); line-height:.94; }
  .opc-enter-lead { max-width:420px; margin-top:9px; font-size:10px; }
  .opc-enter-ai { margin-top:12px; }
  .opc-enter-ai>form { grid-template-columns:minmax(0,1fr) 52px; min-height:56px; }
  .opc-enter-ai label { grid-template-columns:1fr; gap:0; padding:6px 12px; }
  .opc-enter-ai label>span { font-size:6px; }
  .opc-enter-ai input { height:32px; font-size:16px; }
  .opc-enter-ai form>button { font-size:26px; }
  .opc-enter-prompts { gap:5px; }
  .opc-enter-prompts button { padding:7px 3px; font-size:6px; }
  .opc-enter-answer { position:fixed; top:max(8px,env(safe-area-inset-top)); right:10px; bottom:calc(78px + env(safe-area-inset-bottom)); left:10px; max-height:none; padding:24px 18px; }
  .admin-bar .opc-enter-answer { top:52px; }
  .opc-enter-answer>p { margin-right:34px; font-size:24px; }
  .opc-enter-answer>[data-opc-results] { grid-template-columns:1fr; }
  .opc-enter-voucher-inline { height:44px; grid-template-columns:92px minmax(0,1fr); margin-top:7px; }
  .opc-enter-voucher-inline>header { padding:8px 9px; }
  .opc-enter-voucher-inline>header b { font-size:13px; }
  .opc-enter-voucher-inline>.opc-enter-voucher-widget { height:42px; }
  .opc-enter-voucher-inline form { min-height:42px !important; }
  .opc-enter-voucher-inline form input[type="text"],.opc-enter-voucher-inline form input:not([type]),.opc-enter-voucher-inline form input[type="search"] { height:42px !important; padding-inline:9px !important; font-size:11px !important; }
  .opc-enter-voucher-inline form button,.opc-enter-voucher-inline form input[type="submit"] { min-width:82px !important; min-height:42px !important; padding:0 8px !important; font-size:5.5px !important; }
  .opc-enter-news { min-height:58px; margin-top:10px; padding:10px 13px; }
  .opc-enter-news b { font-size:18px; }
  .opc-enter-actions { flex-wrap:nowrap; justify-content:space-between; gap:7px; margin-top:8px; }
  .opc-enter-actions>a { font-size:6px; white-space:nowrap; }
  .opc-enter-footer { min-height:38px; grid-template-columns:1fr auto; gap:10px; }
  .opc-enter-footer>div { flex-direction:column; gap:2px; }
  .opc-enter-footer nav { gap:11px; }
  .opc-enter-footer nav a:nth-child(2),.opc-enter-footer>span { display:none; }
}

.opc-main-nav .opc-nav-place { border:1px solid #173f8f !important; background:#173f8f !important; color:#fff !important; }
.opc-main-nav .opc-nav-place:hover { border-color:#102e6c !important; background:#102e6c !important; color:#fff !important; }
.opc-app-nav .opc-app-place span { background:#173f8f !important; color:#fff !important; box-shadow:0 0 0 4px rgba(23,63,143,.16); }

@media (max-height:700px) and (max-width:781px) {
  .opc-enter-stage { padding-top:6px; }
  .opc-enter-identity img { width:32px; height:39px; }
  .opc-enter-edition { margin:4px 0 6px; }
  .opc-enter-stage>h1 { font-size:38px; }
  .opc-enter-lead { margin-top:5px; font-size:9px; }
  .opc-enter-ai { margin-top:7px; }
  .opc-enter-prompts { display:none; }
  .opc-enter-voucher-inline { margin-top:6px; }
  .opc-enter-news { min-height:52px; margin-top:7px; }
  .opc-enter-actions { margin-top:6px; }
}

/* Profiles and editorial pages remain light and readable outside the entrance. */
.opc-company-single .opc34-profile { border-color:#d4c3a2; background:linear-gradient(145deg,#fffdfa,#f1e8d8); color:#17130e; box-shadow:0 24px 64px rgba(63,43,14,.12); }
.opc-company-single .opc34-copy { color:#17130e; }
.opc-company-single .opc34-heading h1 { color:#17130e; }
.opc-company-single .opc34-verified { background:#efe0c2; color:#79531a; }
.opc-company-single .opc34-rating,.opc-company-single .opc34-meta { color:#61594e!important; }
.opc-company-single .opc34-btn { border-color:#baa681; color:#17130e!important; }
.opc-company-single .opc34-btn:hover,.opc-company-single .opc34-btn.primary { border-color:#17130e; background:#17130e; color:#fff!important; }
.opc-standard-page a:not(.wp-element-button),.opc-article a:not(.wp-element-button),.opc-company-content a:not(.opc34-btn) { color:#79531a; }

/* 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-product-inquiry { display:block; padding:28px !important; }
.opc-product-inquiry>small { display:block; color:var(--opc-gold-light); font-size:9px; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.opc-product-inquiry>p { margin:12px 0 22px; color:#d7cbb9; font-size:14px; line-height:1.55; }
.opc-product-inquiry-cta { min-height:52px; display:flex; align-items:center; justify-content:center; padding:0 18px; border:1px solid var(--opc-gold); background:linear-gradient(135deg,var(--opc-gold-light),var(--opc-gold-deep)); color:#100c08 !important; font-size:10px; font-weight:950; letter-spacing:.09em; text-align:center; text-decoration:none !important; text-transform:uppercase; }
.opc-product-inquiry-cta:hover { filter:brightness(1.08); }
.opc-product-inquiry-context { max-width:820px; display:grid; grid-template-columns:150px 1fr; gap:25px; align-items:center; margin:0 auto 28px; padding:20px; border:1px solid #c7a76e; background:#15110d; color:#fff; box-shadow:0 20px 50px rgba(39,24,8,.13); }
.opc-product-inquiry-image { width:150px; height:150px; overflow:hidden; background:#eee7db; }

/* 3.5 — OPC CITY modular homepage, white/gold edition and real section navigation. */
.opc-theme-light .opc-app-header { border-bottom:1px solid var(--opc-line); background:#fff; color:var(--opc-ink); box-shadow:0 8px 25px rgba(54,39,13,.08); }
.opc-theme-light .opc-app-logo { color:var(--opc-ink) !important; }
.opc-theme-light .opc-main-nav a { color:#4f493f; }
.opc-theme-light .opc-main-nav a:hover { background:var(--opc-paper); color:#111; }
.opc-theme-light .opc-top-install { border-color:var(--opc-line); color:var(--opc-ink); }
.opc-theme-light .opc-edition-switcher summary,.opc-theme-light .opc-city-state-switcher summary { border-color:#caa45c; background:#fffaf0; color:var(--opc-ink); box-shadow:none; }
.opc-theme-light .opc-edition-switcher summary strong,.opc-theme-light .opc-city-state-switcher summary strong { color:var(--opc-ink); }
.opc-theme-light .opc-edition-switcher summary i,.opc-theme-light .opc-city-state-switcher summary i,.opc-theme-light .opc-edition-globe { color:var(--opc-gold-deep); }
.opc-theme-light .opc-edition-switcher[open] summary,.opc-theme-light .opc-city-state-switcher[open] summary { background:#f5e7c6; }

.opc-city-state-switcher { position:relative; z-index:1190; flex:0 0 auto; }
.opc-city-state-switcher summary { min-width:112px; min-height:46px; box-sizing:border-box; display:flex; align-items:center; gap:7px; padding:0 12px; border:1px solid rgba(232,190,108,.78); border-radius:5px; background:#16100a; color:#fff; list-style:none; cursor:pointer; }
.opc-city-state-switcher summary::-webkit-details-marker { display:none; }
.opc-city-state-switcher summary small { color:var(--opc-gold); font-size:7px; font-weight:950; letter-spacing:.12em; }
.opc-city-state-switcher summary strong { max-width:92px; overflow:hidden; color:#fff7e8; font-size:9px; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.opc-city-state-switcher summary i { margin-left:auto; color:var(--opc-gold-light); font-style:normal; }
.opc-city-state-switcher>div { position:absolute; top:calc(100% + 10px); left:0; width:210px; max-height:330px; overflow:auto; padding:8px; border:1px solid var(--opc-line); background:#fff; box-shadow:var(--opc-shadow); }
.opc-city-state-switcher>div a { display:block; padding:11px 12px; color:var(--opc-ink) !important; font-size:10px; font-weight:900; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.opc-city-state-switcher>div a:hover,.opc-city-state-switcher>div a.is-active { background:var(--opc-paper); color:var(--opc-gold-deep) !important; }

.opc-city-primary-nav { border-top:1px solid var(--opc-line); border-bottom:1px solid var(--opc-line); background:rgba(255,255,255,.98); color:var(--opc-ink); }
.opc-city-primary-nav>.opc-wrap { display:flex; align-items:stretch; overflow-x:auto; scrollbar-width:none; }
.opc-city-primary-nav>.opc-wrap::-webkit-scrollbar { display:none; }
.opc-city-nav-item { position:relative; flex:1 0 auto; }
.opc-city-nav-item>a { min-height:40px; display:flex; align-items:center; justify-content:center; gap:7px; padding:0 12px; border-right:1px solid #e9dfcc; color:var(--opc-ink) !important; font-size:9px; letter-spacing:.07em; text-decoration:none !important; text-transform:uppercase; white-space:nowrap; }
.opc-city-nav-item>a small { color:var(--opc-gold-deep); font-size:7px; }
.opc-city-nav-item>a strong { font-weight:950; }
.opc-city-nav-item:hover>a { background:var(--opc-paper); }
.opc-city-subnav { position:absolute; z-index:1250; top:100%; left:0; min-width:210px; display:none; padding:8px; border:1px solid var(--opc-line); background:#fff; box-shadow:0 20px 50px rgba(34,24,8,.14); }
.opc-city-nav-item:hover .opc-city-subnav,.opc-city-nav-item:focus-within .opc-city-subnav { display:grid; }
.opc-city-subnav a { padding:10px 12px; color:var(--opc-ink) !important; font-size:9px; font-weight:850; letter-spacing:.05em; text-decoration:none !important; text-transform:uppercase; }
.opc-city-subnav a:hover { background:var(--opc-paper); color:var(--opc-gold-deep) !important; }

.opc-city-home { background:#fff; color:var(--opc-ink); }
.opc-city-home a { color:inherit; }
.opc-city-identity { padding:58px 0 52px; border-bottom:1px solid var(--opc-line); background:linear-gradient(120deg,#fff 0,#fffaf0 58%,#f4ead5 100%); }
.opc-city-identity p { margin:0; color:var(--opc-muted); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.opc-city-identity h1 { max-width:1120px; margin:14px 0 18px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(54px,8.5vw,126px); font-weight:400; letter-spacing:-.065em; line-height:.84; }
.opc-city-identity h1 span,.opc-city-module-head h2 span { color:var(--opc-gold); }
.opc-city-identity h1+p { max-width:720px; font-size:15px; font-weight:500; letter-spacing:0; line-height:1.5; text-transform:none; }
.opc-city-module { padding:72px 0 88px; border-bottom:1px solid var(--opc-line); background:#fff; }
.opc-city-module.is-paper { background:var(--opc-paper); }
.opc-city-module-head { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:32px; padding-bottom:22px; border-bottom:1px solid var(--opc-line); }
.opc-city-module-head p { margin:0 0 10px; color:var(--opc-gold-deep); font-size:10px; font-weight:950; letter-spacing:.15em; text-transform:uppercase; }
.opc-city-module-head h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(46px,6vw,78px); font-weight:400; letter-spacing:-.055em; line-height:.88; }
.opc-city-module-head>a { flex:0 0 auto; padding:12px 0 7px; border-bottom:2px solid var(--opc-gold); color:var(--opc-ink) !important; font-size:9px; font-weight:950; letter-spacing:.08em; text-decoration:none !important; text-transform:uppercase; }
.opc-city-daily-grid { display:grid; grid-template-columns:1.55fr 1fr 1fr; gap:26px 18px; }
.opc-city-daily-grid .opc-city-story.is-lead { grid-row:span 2; }
.opc-city-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.opc-city-card-grid.is-compact { grid-template-columns:repeat(4,minmax(0,1fr)); }
.opc-city-card-grid.is-two { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.opc-city-story { min-width:0; overflow:hidden; border:1px solid var(--opc-line); background:#fff; }
.opc-city-story-image { aspect-ratio:16/10; display:grid; place-items:center; overflow:hidden; background:#181714 center/cover no-repeat; color:var(--opc-gold) !important; font-size:15px; font-weight:950; letter-spacing:.09em; text-decoration:none !important; }
.opc-city-story.is-lead .opc-city-story-image { aspect-ratio:4/3; }
.opc-city-story-copy { padding:20px; }
.opc-city-story-copy>p { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 12px; margin:0 0 15px; color:var(--opc-muted); font-size:8px; letter-spacing:.08em; line-height:1.35; text-transform:uppercase; }
.opc-city-story-copy>p strong { color:var(--opc-gold-deep); }
.opc-city-story-copy h3 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(24px,2.4vw,38px); font-weight:400; letter-spacing:-.04em; line-height:.98; }
.opc-city-story.is-lead .opc-city-story-copy h3 { font-size:clamp(38px,4.5vw,66px); }
.opc-city-story-copy h3 a { color:var(--opc-ink) !important; text-decoration:none !important; }
.opc-city-story-copy>div { margin-top:15px; color:var(--opc-muted); font-size:13px; line-height:1.5; }
.opc-city-empty { grid-column:1/-1; padding:34px; border:1px dashed #c9b98f; background:rgba(255,255,255,.58); color:var(--opc-muted); font-size:14px; }
.opc-city-module-actions { display:flex; justify-content:flex-end; gap:8px; margin:-18px 0 24px; }
.opc-city-module-actions a,.opc-city-add-link { padding:11px 14px; border:1px solid var(--opc-line); background:#fff; color:var(--opc-ink) !important; font-size:9px; font-weight:950; letter-spacing:.07em; text-decoration:none !important; text-transform:uppercase; }
.opc-city-module-actions a:last-child,.opc-city-add-link { border-color:var(--opc-gold); background:var(--opc-gold); }
.opc-city-market-columns { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.opc-city-market-columns>div>h3 { margin:0 0 18px; font-family:Georgia,'Times New Roman',serif; font-size:32px; font-weight:400; }
.opc-city-add-link { width:max-content; display:block; margin-top:15px; }
.opc-city-video { background:#14120f; color:#fff; }
.opc-city-video .opc-city-module-head { border-color:#3c352a; }
.opc-city-video .opc-city-module-head h2,.opc-city-video .opc-city-module-head>a { color:#fff !important; }
.opc-city-video .opc-city-story { border-color:#3c352a; background:#1c1915; }
.opc-city-video .opc-city-story-copy h3 a { color:#fff !important; }
.opc-city-video .opc-city-story-copy>div,.opc-city-video .opc-city-story-copy>p { color:#c7bdae; }

.opc-article-ad { max-width:760px; box-sizing:border-box; display:grid; gap:7px; margin:34px auto; padding:22px 24px; border:1px solid var(--opc-line); border-left:5px solid var(--opc-gold); background:#fffaf0; color:var(--opc-ink); }
.opc-article-ad small { color:var(--opc-gold-deep); font-size:8px; font-weight:950; letter-spacing:.13em; }
.opc-article-ad strong { font-family:Georgia,'Times New Roman',serif; font-size:24px; font-weight:400; }
.opc-article-ad span { color:var(--opc-muted); font-size:11px; }
.opc-article .wp-block-post-content a,.opc-standard-page a,.opc-page-content a { color:var(--opc-gold-deep); }

.opc-theme-dark .opc-city-home { background:#100e0b; color:#f7eedf; }
.opc-theme-dark .opc-city-identity,.opc-theme-dark .opc-city-module,.opc-theme-dark .opc-city-module.is-paper { border-color:#3a3023; background:#100e0b; }
.opc-theme-dark .opc-city-story { border-color:#4a3c29; background:#17130e; }
.opc-theme-dark .opc-city-story-copy h3 a,.opc-theme-dark .opc-city-module-head>a { color:#fff7e8 !important; }
.opc-theme-dark .opc-city-story-copy>div,.opc-theme-dark .opc-city-story-copy>p,.opc-theme-dark .opc-city-identity p { color:#c4b6a3; }
.opc-theme-dark .opc-city-primary-nav { border-color:#342b20; background:#12100e; }
.opc-theme-dark .opc-city-nav-item>a { border-color:#342b20; color:#fff3df !important; }

@media (max-width:1000px) {
  .opc-city-daily-grid { grid-template-columns:1.2fr 1fr; }
  .opc-city-daily-grid .opc-city-story.is-lead { grid-row:span 2; }
  .opc-city-card-grid,.opc-city-card-grid.is-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:781px) {
  .opc-city-state-switcher summary { min-width:62px; width:62px; padding:0 7px; justify-content:center; }
  .opc-city-state-switcher summary small,.opc-city-state-switcher summary i { display:none; }
  .opc-city-state-switcher summary strong { max-width:48px; font-size:7px; }
  .opc-city-state-switcher>div { position:fixed; top:104px; left:14px; right:14px; width:auto; }
  .admin-bar .opc-city-state-switcher>div { top:150px; }
  .opc-city-primary-nav>.opc-wrap { width:100%; }
  .opc-city-nav-item>a { min-height:36px; padding:0 10px; }
  .opc-city-subnav { display:none !important; }
  .opc-city-identity { padding:40px 0 38px; }
  .opc-city-identity h1 { font-size:clamp(48px,14vw,72px); line-height:.88; }
  .opc-city-module { padding:50px 0 62px; }
  .opc-city-module-head { align-items:flex-start; flex-direction:column; gap:13px; }
  .opc-city-module-head h2 { font-size:48px; }
  .opc-city-daily-grid,.opc-city-card-grid,.opc-city-card-grid.is-compact,.opc-city-market-columns { grid-template-columns:1fr; }
  .opc-city-daily-grid .opc-city-story.is-lead { grid-row:auto; }
  .opc-city-card-grid.is-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opc-city-story-copy { padding:17px; }
  .opc-city-story-copy h3 { font-size:29px; }
  .opc-city-story.is-lead .opc-city-story-copy h3 { font-size:42px; }
  .opc-city-module-actions { justify-content:flex-start; margin:-12px 0 22px; overflow-x:auto; }
  .opc-city-market-columns { gap:42px; }
  .opc-article-ad { margin:27px 0; padding:18px; }
}
@media (max-width:420px) {
  .opc-app-primary { gap:5px; }
  .opc-app-header .opc-reality-wordmark { width:94px; }
  .opc-city-state-switcher summary { min-width:48px; width:48px; }
  .opc-city-state-switcher summary strong { max-width:38px; }
  .opc-city-card-grid.is-two { grid-template-columns:1fr; }
}
.opc-product-inquiry-image img { width:100%; height:100%; display:block; object-fit:cover; }
.opc-product-inquiry-context small { color:var(--opc-gold); font-size:9px; font-weight:950; letter-spacing:.14em; }
.opc-product-inquiry-context h2 { margin:7px 0 10px; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:32px; font-weight:400; line-height:1; }
.opc-product-inquiry-context p { margin:0 0 12px; color:#cfc3b1; font-size:13px; line-height:1.45; }
.opc-product-inquiry-context a { color:var(--opc-gold-light); font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.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:620px) {
  .opc-product-inquiry-context { grid-template-columns:78px 1fr; gap:15px; padding:14px; }
  .opc-product-inquiry-image { width:78px; height:78px; }
  .opc-product-inquiry-context h2 { font-size:25px; }
  .opc-product-inquiry-context p { font-size:12px; }
}

@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; }
}

/* Final mobile header guard: logo + edition + city + cart + install must fit. */
@media (max-width:781px) {
  .opc-app-primary { gap:5px; padding-left:8px; padding-right:8px; }
  .opc-app-header .opc-reality-wordmark { width:100px; }
  .opc-app-header .opc-edition-switcher { min-width:0; flex:1 1 68px; }
  .opc-app-header .opc-edition-switcher summary { min-width:0; width:100%; }
  .opc-app-header .opc-edition-switcher summary strong { max-width:62px; }
  .opc-app-header .opc-city-state-switcher { flex:0 0 46px; }
  .opc-app-header .opc-city-state-switcher summary { min-width:46px; width:46px; padding:0 4px; }
  .opc-app-header .opc-city-state-switcher summary strong { max-width:38px; }
  .opc-app-header .opc-header-tools { flex:0 0 auto; gap:4px; }
  .opc-app-header .opc-cart-link,.opc-app-header .opc-top-install { width:38px; min-height:38px; }
}
@media (max-width:370px) {
  .opc-app-header .opc-reality-wordmark { width:82px; }
  .opc-app-header .opc-edition-switcher summary strong { max-width:50px; }
  .opc-app-header .opc-city-state-switcher { flex-basis:42px; }
  .opc-app-header .opc-city-state-switcher summary { min-width:42px; width:42px; }
}

/* 3.5.1 — optional locked homepage / Realty Club landing page. */
.opc-home-locked { margin:0; background:#0c0b09; }
.opc-home-locked .opc-footer { display:none !important; }
.opc-home-locked .opc-selected-home { margin:0 !important; padding:0 !important; }
.opc-home-locked .opc-selected-home>*,.opc-home-locked .opc-selected-home>.wp-block-post-content { max-width:none !important; margin:0 !important; padding:0 !important; }
.opc-lock-home { --lock-gold:#d6a856; --lock-line:rgba(214,168,86,.28); position:relative; min-height:100vh; overflow:hidden; padding:0 max(24px,calc((100vw - 1240px)/2)); background:radial-gradient(circle at 82% 6%,rgba(214,168,86,.15),transparent 28%),linear-gradient(145deg,#17120c 0,#090909 45%,#11100e 100%); color:#f9f4e8; }
.opc-lock-glow { position:absolute; z-index:0; top:-22vw; right:-8vw; width:55vw; height:55vw; border:1px solid rgba(214,168,86,.16); border-radius:50%; box-shadow:0 0 0 8vw rgba(214,168,86,.025),0 0 0 16vw rgba(214,168,86,.018); pointer-events:none; }
.opc-lock-home>*:not(.opc-lock-glow) { position:relative; z-index:1; }
.opc-lock-top { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--lock-line); }
.opc-lock-brand img { width:min(290px,46vw); height:auto; display:block; filter:brightness(0) invert(1) sepia(.45) saturate(2); }
.opc-lock-top>span { display:flex; align-items:center; gap:10px; color:#bbae96; font-size:9px; font-weight:900; letter-spacing:.16em; }
.opc-lock-top>span i { color:var(--lock-gold); font-size:8px; font-style:normal; text-shadow:0 0 13px var(--lock-gold); }
.opc-lock-intro { max-width:980px; padding:90px 0 70px; }
.opc-lock-intro>p:first-child,.opc-lock-now>header p { margin:0 0 18px; color:var(--lock-gold); font-size:10px; font-weight:950; letter-spacing:.2em; }
.opc-lock-intro h1 { max-width:1000px; margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(64px,9vw,132px); font-weight:400; letter-spacing:-.065em; line-height:.84; }
.opc-lock-intro h1 span,.opc-lock-now h2 span { color:var(--lock-gold); }
.opc-lock-intro h1+p { max-width:680px; margin:34px 0 0; color:#bdb4a4; font-size:17px; line-height:1.6; }
.opc-lock-search { max-width:820px; display:grid; grid-template-columns:1fr auto; margin-top:46px; padding:8px; border:1px solid var(--lock-line); background:#f8f4e9; }
.opc-lock-search input { min-width:0; height:62px; padding:0 21px; border:0; outline:0; background:transparent; color:#111; font-size:18px; }
.opc-lock-search button { min-width:150px; border:0; background:#111; color:#fff; font-size:10px; font-weight:950; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.opc-lock-branches { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-bottom:90px; border:1px solid var(--lock-line); background:var(--lock-line); }
.opc-lock-branches article { min-height:320px; display:flex; align-items:flex-start; flex-direction:column; padding:42px; background:linear-gradient(135deg,rgba(28,23,17,.98),rgba(12,11,9,.98)); }
.opc-lock-branches small,.opc-lock-portal small { color:var(--lock-gold); font-size:9px; font-weight:950; letter-spacing:.14em; }
.opc-lock-branches h2 { margin:48px 0 8px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(34px,4vw,58px); font-weight:400; letter-spacing:-.04em; line-height:.95; }
.opc-lock-branches strong { color:#f5e5bd; font-size:13px; letter-spacing:.06em; }
.opc-lock-branches p { max-width:500px; margin:20px 0 35px; color:#aaa190; font-size:14px; line-height:1.55; }
.opc-lock-branches a { margin-top:auto; padding-bottom:7px; border-bottom:1px solid var(--lock-gold); color:#fff !important; font-size:9px; font-weight:950; letter-spacing:.1em; text-decoration:none !important; text-transform:uppercase; }
.opc-lock-now { padding:0 0 85px; }
.opc-lock-now>header { display:flex; align-items:end; justify-content:space-between; margin-bottom:28px; padding-bottom:22px; border-bottom:1px solid var(--lock-line); }
.opc-lock-now>header p { margin:0; }
.opc-lock-now h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(36px,5vw,66px); font-weight:400; letter-spacing:-.05em; }
.opc-lock-now>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.opc-lock-portal { min-width:0; display:flex; flex-direction:column; padding:12px 12px 28px; border:1px solid var(--lock-line); background:#15120e; color:#fff !important; text-decoration:none !important; transition:transform .2s ease,border-color .2s ease; }
.opc-lock-portal:hover { transform:translateY(-4px); border-color:var(--lock-gold); }
.opc-lock-portal-image { aspect-ratio:16/10; display:grid; place-items:center; margin-bottom:24px; overflow:hidden; background:#25211a center/cover no-repeat; color:var(--lock-gold); font-family:Georgia,'Times New Roman',serif; font-size:42px; }
.opc-lock-portal small,.opc-lock-portal>strong,.opc-lock-portal em,.opc-lock-portal b { margin-left:12px; margin-right:12px; }
.opc-lock-portal>strong { margin-top:13px; font-family:Georgia,'Times New Roman',serif; font-size:30px; font-weight:400; letter-spacing:-.035em; line-height:1; }
.opc-lock-portal em { margin-top:14px; color:#aaa190; font-size:12px; font-style:normal; line-height:1.5; }
.opc-lock-portal b { margin-top:24px; color:var(--lock-gold); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.opc-lock-links { display:flex; flex-wrap:wrap; gap:0; padding:22px 0; border-top:1px solid var(--lock-line); border-bottom:1px solid var(--lock-line); }
.opc-lock-links a { padding:12px 25px 12px 0; color:#ddd3c1 !important; font-size:10px; font-weight:900; letter-spacing:.11em; text-decoration:none !important; text-transform:uppercase; }
.opc-lock-links a:hover { color:var(--lock-gold) !important; }
.opc-lock-access { padding:32px 0 0; }
.opc-lock-access details { max-width:560px; }
.opc-lock-access summary { color:#bbae96; font-size:9px; font-weight:900; letter-spacing:.1em; cursor:pointer; text-transform:uppercase; }
.opc-lock-access form { margin-top:18px; padding:22px; border:1px solid var(--lock-line); }
.opc-lock-access label { display:block; margin-bottom:8px; color:#c8bda9; font-size:10px; }
.opc-lock-access form>div { display:grid; grid-template-columns:1fr auto; }
.opc-lock-access input { min-width:0; height:48px; padding:0 13px; border:1px solid #d8ccb4; }
.opc-lock-access button { padding:0 20px; border:0; background:var(--lock-gold); color:#111; font-size:9px; font-weight:950; text-transform:uppercase; }
.opc-lock-access form>p { margin:10px 0 0; color:#ffb0a6; font-size:11px; }
.opc-lock-foot { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px 30px; padding:45px 0 50px; color:#7e7568; font-size:8px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.opc-lock-foot a { color:var(--lock-gold) !important; text-decoration:none !important; }
@media (max-width:781px) {
  .opc-lock-home { padding:0 18px; }
  .opc-lock-top { min-height:82px; }
  .opc-lock-brand img { width:185px; }
  .opc-lock-top>span { max-width:78px; font-size:7px; line-height:1.4; }
  .opc-lock-intro { padding:58px 0 50px; }
  .opc-lock-intro h1 { font-size:clamp(51px,16vw,78px); }
  .opc-lock-intro h1+p { margin-top:27px; font-size:14px; }
  .opc-lock-search { grid-template-columns:1fr; padding:6px; }
  .opc-lock-search input { height:55px; font-size:15px; }
  .opc-lock-search button { min-height:49px; }
  .opc-lock-branches { grid-template-columns:1fr; margin-bottom:62px; }
  .opc-lock-branches article { min-height:275px; padding:28px; }
  .opc-lock-branches h2 { margin-top:33px; font-size:41px; }
  .opc-lock-now { padding-bottom:60px; }
  .opc-lock-now>header { align-items:flex-start; flex-direction:column; gap:10px; }
  .opc-lock-now h2 { font-size:43px; }
  .opc-lock-now>div { grid-template-columns:1fr; }
  .opc-lock-portal>strong { font-size:29px; }
  .opc-lock-links { display:grid; grid-template-columns:1fr 1fr; }
  .opc-lock-foot { flex-direction:column; }
}

/* 3.5.2 — active app shell, scoped OPC search and Club content. */
.opc-home-locked .opc-app-header { display:block !important; background:#0c0b09; color:#fff; border-color:#392b17; box-shadow:0 8px 28px rgba(0,0,0,.3); }
.opc-home-locked .opc-app-logo { color:#fff !important; }
.opc-home-locked .opc-main-nav a,.opc-home-locked .opc-top-install { color:#f4ead7 !important; border-color:#5e4928; }
.opc-home-locked .opc-main-nav a:hover { background:#292116; color:#fff !important; }
.opc-home-locked .opc-edition-switcher summary { border-color:#7b5b2c; background:#17120c; color:#fff; }
.opc-home-locked .opc-edition-switcher summary strong { color:#fff; }
.opc-home-locked .opc-city-primary-nav { display:none !important; }
.opc-home-locked .opc-app-nav { z-index:1800; }
.opc-lock-welcome { display:grid; grid-template-columns:1fr minmax(250px,330px); gap:55px; align-items:end; padding-bottom:44px; border-bottom:1px solid var(--lock-line); }
.opc-lock-welcome>div>p { margin:0 0 16px; color:var(--lock-gold); font-size:10px; font-weight:950; letter-spacing:.2em; }
.opc-lock-welcome h1 { margin:0; font-size:clamp(92px,15vw,210px); }
.opc-lock-welcome>div>strong { display:block; margin-top:15px; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(25px,3vw,40px); font-weight:400; }
.opc-lock-welcome>aside { display:flex; flex-direction:column; padding:28px; border:1px solid var(--lock-line); background:rgba(255,255,255,.035); }
.opc-lock-welcome>aside small { color:var(--lock-gold); font-size:8px; font-weight:950; letter-spacing:.14em; }
.opc-lock-welcome>aside b { margin-top:13px; font-family:Georgia,'Times New Roman',serif; font-size:37px; font-weight:400; }
.opc-lock-welcome>aside span { margin-top:4px; color:#bfb3a0; font-size:12px; }
.opc-lock-welcome>aside i { font-style:normal; }
.opc-lock-welcome>aside i.is-up { color:#75d69a; }
.opc-lock-welcome>aside i.is-down { color:#ff887b; }
.opc-lock-welcome>aside em { margin-top:19px; color:#746b60; font-size:8px; font-style:normal; letter-spacing:.07em; }
.opc-lock-intro>h2 { max-width:980px; margin:60px 0 0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(46px,6.5vw,88px); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.opc-lock-intro>h2 span { color:var(--lock-gold); }
.opc-lock-intro>h2+p { max-width:720px; margin:26px 0 0; color:#bdb4a4; font-size:16px; line-height:1.6; }
.opc-smart-search { margin-top:38px; }
.opc-smart-search>nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.opc-smart-search>nav button { min-height:38px; padding:0 15px; border:1px solid #5b4930; background:transparent; color:#b9ad99; font-size:8px; font-weight:950; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.opc-smart-search>nav button.is-active { border-color:var(--opc-gold); background:var(--opc-gold); color:#111; }
.opc-smart-search>label { max-width:900px; display:grid; grid-template-columns:1fr auto; padding:7px; border:1px solid #735b35; background:#faf6ed; }
.opc-smart-search>label input { min-width:0; height:60px; padding:0 19px; border:0; outline:0; background:transparent; color:#111; font-size:17px; }
.opc-smart-search>label button { min-width:145px; border:0; background:#111; color:#fff; font-size:9px; font-weight:950; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.opc-smart-search>p { max-width:780px; margin:11px 0 0; color:#82796d; font-size:10px; line-height:1.45; }
.opc-lock-promise { display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; margin-top:27px; color:#bdb4a4; font-size:13px; }
.opc-lock-promise strong { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:22px; font-weight:400; }
.opc-lock-promise a { color:var(--lock-gold) !important; font-weight:850; text-decoration:none !important; }
.opc-lock-news { margin-bottom:86px; }
.opc-lock-news>header { display:flex; align-items:end; justify-content:space-between; gap:25px; padding-bottom:22px; border-bottom:1px solid var(--lock-line); }
.opc-lock-news>header p { margin:0 0 9px; color:var(--lock-gold); font-size:9px; font-weight:950; letter-spacing:.15em; }
.opc-lock-news>header h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(40px,5vw,66px); font-weight:400; letter-spacing:-.05em; }
.opc-lock-news>header h2 span { color:var(--lock-gold); }
.opc-lock-news>header>a { padding-bottom:7px; border-bottom:1px solid var(--lock-gold); color:#fff !important; font-size:8px; font-weight:950; letter-spacing:.09em; text-decoration:none !important; text-transform:uppercase; }
.opc-lock-news-list { margin:0; padding:0; list-style:none; }
.opc-lock-news-list li { border-bottom:1px solid var(--lock-line); }
.opc-lock-news-list a { display:grid; grid-template-columns:72px 1fr auto; gap:20px; align-items:center; padding:22px 4px; color:#fff !important; text-decoration:none !important; }
.opc-lock-news-list time,.opc-lock-news-list span { color:#8e8374; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.opc-lock-news-list strong { font-family:Georgia,'Times New Roman',serif; font-size:clamp(20px,2.4vw,31px); font-weight:400; letter-spacing:-.025em; line-height:1.05; }
.opc-lock-news-list a:hover strong { color:var(--lock-gold); }
.opc-lock-no-news { padding:25px 0; color:#8e8374; }
.opc-lock-main-product { display:grid; grid-template-columns:minmax(300px,.85fr) 1.15fr; gap:0; margin-bottom:88px; border:1px solid var(--lock-line); background:#f6f0e4; color:#111; }
.opc-lock-main-product-image { min-height:530px; display:flex; align-items:flex-start; padding:26px; background:#1b1711 center/cover no-repeat; color:#fff !important; text-decoration:none !important; }
.opc-lock-main-product-image span { padding:9px 11px; background:#111; color:var(--lock-gold); font-size:8px; font-weight:950; letter-spacing:.12em; }
.opc-lock-main-product>div { display:flex; align-items:flex-start; flex-direction:column; justify-content:center; padding:55px; }
.opc-lock-main-product>div>small { color:#8f5c24; font-size:9px; font-weight:950; letter-spacing:.15em; }
.opc-lock-main-product h2 { margin:16px 0 18px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(43px,5vw,75px); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.opc-lock-main-product h2 span { color:var(--opc-gold); }
.opc-lock-main-price { font-size:26px; font-weight:950; }
.opc-lock-main-product>div>p { max-width:600px; margin:22px 0; color:#625a4e; font-size:15px; line-height:1.55; }
.opc-lock-main-product aside { max-width:600px; display:grid; grid-template-columns:auto 1fr; gap:10px 17px; padding:18px 0; border-top:1px solid #d7cbb5; border-bottom:1px solid #d7cbb5; }
.opc-lock-main-product aside b { color:#8f5c24; font-size:9px; letter-spacing:.12em; }
.opc-lock-main-product aside span { color:#625a4e; font-size:11px; line-height:1.5; }
.opc-lock-main-product nav { display:flex; flex-wrap:wrap; gap:9px; margin-top:27px; }
.opc-lock-main-product nav a { padding:15px 19px; border:1px solid #111; color:#111 !important; font-size:9px; font-weight:950; letter-spacing:.08em; text-decoration:none !important; text-transform:uppercase; }
.opc-lock-main-product nav a:first-child { background:#111; color:#fff !important; }
.opc-lock-foot { align-items:flex-start; }
.opc-lock-foot>div { display:flex; flex-direction:column; gap:8px; }
.opc-lock-foot>div strong { color:#eee5d5; font-size:10px; }

.opc-smart-search-page { min-height:72vh; background:#0d0c0a; color:#fff; }
.opc-smart-search-page>header { padding:70px 0 54px; border-bottom:1px solid #3a2c19; background:radial-gradient(circle at 80% 0,rgba(214,168,86,.15),transparent 30%),#0d0c0a; }
.opc-smart-search-page>header small { color:var(--opc-gold); font-size:9px; font-weight:950; letter-spacing:.16em; }
.opc-smart-search-page>header h1 { margin:14px 0 0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(55px,8vw,105px); font-weight:400; letter-spacing:-.06em; line-height:.88; }
.opc-smart-search-page>header h1 span { color:var(--opc-gold); }
.opc-smart-search-page>section { padding:55px 0 90px; }
.opc-smart-search-page a { color:inherit; }
.opc-smart-result-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid #3a2c19; background:#3a2c19; }
.opc-smart-result-list article { background:#15120e; }
.opc-smart-result-list article>a { min-height:260px; display:flex; align-items:flex-start; flex-direction:column; padding:34px; color:#fff !important; text-decoration:none !important; }
.opc-smart-result-list small { color:var(--opc-gold); font-size:8px; font-weight:950; letter-spacing:.14em; }
.opc-smart-result-list h2 { margin:30px 0 13px; font-family:Georgia,'Times New Roman',serif; font-size:42px; font-weight:400; letter-spacing:-.04em; line-height:.95; }
.opc-smart-result-list p { color:#a99e8b; font-size:13px; line-height:1.5; }
.opc-smart-result-list span { margin-top:auto; color:var(--opc-gold); font-size:9px; font-weight:900; text-transform:uppercase; }
.opc-smart-empty { display:flex; flex-direction:column; gap:10px; padding:35px; border:1px dashed #715831; color:#aa9f8c; }
.opc-smart-empty b { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:28px; font-weight:400; }
.opc-smart-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.opc-smart-search-page .opc-city-story { border-color:#3a2c19; background:#15120e; }
.opc-smart-search-page .opc-city-story-copy h3 a { color:#fff !important; }
.opc-smart-search-page .opc-city-story-copy>div,.opc-smart-search-page .opc-city-story-copy>p { color:#aa9f8c; }
.opc-smart-search-page .opc-search-results .opc-heading h1 { color:#fff; }
.opc-smart-search-page .opc-search-results a { color:#fff !important; }

@media (max-width:781px) {
  .opc-home-locked { padding-bottom:82px; }
  .opc-lock-welcome { grid-template-columns:1fr; gap:28px; }
  .opc-lock-welcome h1 { font-size:29vw; }
  .opc-lock-welcome>aside { padding:21px; }
  .opc-lock-intro>h2 { margin-top:43px; font-size:48px; }
  .opc-smart-search>nav { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
  .opc-smart-search>nav button { padding:0 7px; font-size:7px; }
  .opc-smart-search>label { grid-template-columns:1fr; }
  .opc-smart-search>label input { height:54px; font-size:15px; }
  .opc-smart-search>label button { min-height:48px; }
  .opc-lock-news { margin-bottom:60px; }
  .opc-lock-news>header { align-items:flex-start; flex-direction:column; }
  .opc-lock-news-list a { grid-template-columns:48px 1fr; gap:12px; }
  .opc-lock-news-list span { grid-column:2; }
  .opc-lock-main-product { grid-template-columns:1fr; margin-bottom:62px; }
  .opc-lock-main-product-image { min-height:390px; }
  .opc-lock-main-product>div { padding:31px 25px 36px; }
  .opc-lock-main-product h2 { font-size:47px; }
  .opc-smart-search-page>header { padding:50px 0 38px; }
  .opc-smart-search-page>section { padding:35px 0 72px; }
  .opc-smart-result-list,.opc-smart-news-grid { grid-template-columns:1fr; }
  .opc-smart-result-list article>a { min-height:230px; padding:27px; }
  .opc-smart-result-list h2 { font-size:36px; }
}

/* 4.0.0 — Opava.City AI Edition. Black-gold gate, light readable city. */
.opc-ai-edition { --ai-ink:#0a0908; --ai-gold:#d6a856; --ai-paper:#f6f2e9; --ai-line:#ddd3c2; --ai-muted:#6f675d; background:var(--ai-paper); color:var(--ai-ink); }
.opc-ai-edition .opc-app-header { background:rgba(9,8,7,.97); border-bottom:1px solid #372b1c; color:#fff; backdrop-filter:blur(18px); }
.opc-ai-edition .opc-app-primary { max-width:1540px; }
.opc-ai-edition .opc-reality-wordmark { width:150px; }
.opc-ai-edition .opc-main-nav { margin-left:auto; }
.opc-ai-edition .opc-main-nav a,.opc-ai-edition .opc-top-install { color:#f5eddf !important; }
.opc-ai-edition .opc-main-nav a:hover { color:var(--ai-gold) !important; }
.opc-ai-edition .opc-edition-switcher summary { border-color:#675034; background:#14110e; color:#fff; }
.opc-ai-edition .opc-live-strip { border-color:#332719; background:#0d0b09; color:#fff; }
.opc-ai-edition .opc-footer { display:none !important; }
.opc-ai-home { overflow:hidden; background:#fff; }
.opc-ai-home .opc-wrap { width:min(1540px,calc(100% - 64px)); margin-inline:auto; }
.opc-ai-hero { position:relative; overflow:hidden; padding:80px 0 0; background:radial-gradient(circle at 84% 10%,rgba(214,168,86,.17),transparent 31%),linear-gradient(150deg,#080706 0%,#15110c 62%,#090807 100%); color:#fff; }
.opc-ai-hero::after { position:absolute; right:-10%; bottom:-320px; width:760px; height:760px; border:1px solid rgba(214,168,86,.16); border-radius:50%; content:""; }
.opc-ai-hero-orbit { position:absolute; z-index:0; top:-90px; right:1vw; color:rgba(214,168,86,.035); font-family:Georgia,'Times New Roman',serif; font-size:620px; line-height:1; pointer-events:none; }
.opc-ai-hero .opc-wrap { position:relative; z-index:1; }
.opc-ai-hero-meta { display:flex; justify-content:space-between; gap:24px; padding-bottom:18px; border-bottom:1px solid rgba(214,168,86,.3); color:#cfc2ac; font-size:9px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.opc-ai-signature { margin:54px 0 15px; color:var(--ai-gold); font-size:9px; font-weight:950; letter-spacing:.2em; }
.opc-ai-hero h1 { max-width:1100px; margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(78px,11vw,178px); font-weight:400; letter-spacing:-.075em; line-height:.78; }
.opc-ai-hero h1 span,.opc-ai-section-head h2 span,.opc-ai-branches h2 span { color:var(--ai-gold); }
.opc-ai-hero h2 { max-width:1000px; margin:48px 0 0; font-family:Arial,Helvetica,sans-serif; font-size:clamp(28px,4.2vw,64px); font-weight:800; letter-spacing:-.045em; line-height:.98; }
.opc-ai-hero-text { max-width:790px; margin:22px 0 0; color:#c9beac; font-size:clamp(15px,1.6vw,21px); line-height:1.55; }
.opc-ai-hero .opc-smart-search { max-width:1100px; margin-top:42px; }
.opc-ai-hero .opc-smart-search>nav button { border-color:#635137; color:#cfc2ac; }
.opc-ai-hero .opc-smart-search>nav button.is-active { border-color:var(--ai-gold); background:var(--ai-gold); color:#111; }
.opc-ai-hero .opc-smart-search>label { border-color:#7e6238; box-shadow:0 25px 80px rgba(0,0,0,.32); }
.opc-ai-hero .opc-smart-search>p { color:#928675; }
.opc-ai-hero-actions { max-width:1100px; display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:28px 0 0; border:1px solid #4a3b28; background:#4a3b28; }
.opc-ai-hero-actions>a { min-height:150px; display:flex; flex-direction:column; justify-content:center; padding:28px 34px; background:#12100d; color:#fff !important; text-decoration:none !important; transition:background .2s,color .2s; }
.opc-ai-hero-actions>a:hover { background:#211a11; }
.opc-ai-hero-actions>a.is-gold { background:linear-gradient(135deg,#e7c77d,#b68235); color:#0b0907 !important; }
.opc-ai-hero-actions>a.is-gold:hover { background:#f1d58f; }
.opc-ai-hero-actions small { font-size:8px; font-weight:950; letter-spacing:.15em; }
.opc-ai-hero-actions strong { margin:9px 0 6px; font-family:Georgia,'Times New Roman',serif; font-size:37px; font-weight:400; letter-spacing:-.04em; }
.opc-ai-hero-actions span { color:inherit; font-size:11px; opacity:.72; }
.opc-ai-pulse { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr auto; gap:24px; align-items:center; margin-top:70px; min-height:72px; border-top:1px solid #3d3020; color:#bdb2a1; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.opc-ai-pulse>div { display:flex; gap:12px; align-items:center; }
.opc-ai-pulse i { width:9px; height:9px; border-radius:50%; background:var(--ai-gold); box-shadow:0 0 0 7px rgba(214,168,86,.12); }
.opc-ai-pulse strong { color:#fff; font-size:12px; }
.opc-ai-pulse .is-up { color:#73c98d; font-style:normal; }
.opc-ai-pulse .is-down { color:#f18b7e; font-style:normal; }
.opc-ai-pulse>a { color:var(--ai-gold) !important; text-decoration:none !important; }
.opc-ai-section { padding:100px 0; background:#fff; }
.opc-ai-section.is-paper { background:var(--ai-paper); }
.opc-ai-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:44px; padding-bottom:24px; border-bottom:1px solid var(--ai-line); }
.opc-ai-section-head small { color:#9a6f31; font-size:9px; font-weight:950; letter-spacing:.16em; }
.opc-ai-section-head h2 { margin:10px 0 0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(47px,6vw,84px); font-weight:400; letter-spacing:-.06em; line-height:.88; }
.opc-ai-section-head>a { flex:0 0 auto; padding-bottom:7px; border-bottom:1px solid var(--ai-ink); color:var(--ai-ink) !important; font-size:9px; font-weight:950; letter-spacing:.08em; text-decoration:none !important; text-transform:uppercase; }
.opc-ai-daily-grid { display:grid; grid-template-columns:1.55fr .75fr .75fr; gap:22px; }
.opc-ai-daily-grid .opc-ai-card.is-lead { grid-row:span 2; }
.opc-ai-daily-grid .opc-ai-card:nth-child(n+4) { display:none; }
.opc-ai-card { min-width:0; border:1px solid var(--ai-line); background:#fff; }
.opc-ai-card-image { position:relative; aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#d8d0c3 center/cover no-repeat; color:#fff !important; text-decoration:none !important; }
.opc-ai-card-image::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55)); content:""; }
.opc-ai-card-image>span { color:rgba(255,255,255,.7); font-family:Georgia,'Times New Roman',serif; font-size:58px; }
.opc-ai-card-image>small { position:absolute; z-index:1; left:18px; bottom:15px; padding:7px 9px; background:#0c0a08; color:var(--ai-gold); font-size:8px; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
.opc-ai-card-copy { padding:22px; }
.opc-ai-card-copy>p { display:flex; justify-content:space-between; gap:14px; margin:0; color:#81786c; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.opc-ai-card-copy h3 { margin:15px 0 11px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(25px,2.3vw,38px); font-weight:400; letter-spacing:-.04em; line-height:.97; }
.opc-ai-card-copy h3 a { color:var(--ai-ink) !important; text-decoration:none !important; }
.opc-ai-card-copy>div { color:var(--ai-muted); font-size:12px; line-height:1.55; }
.opc-ai-card.is-lead .opc-ai-card-image { aspect-ratio:16/9; }
.opc-ai-card.is-lead .opc-ai-card-copy { padding:30px; }
.opc-ai-card.is-lead .opc-ai-card-copy h3 { font-size:clamp(41px,4vw,68px); }
.opc-ai-price { display:block; margin-top:19px; font-size:17px; }
.opc-ai-empty { min-height:190px; display:flex; flex-direction:column; justify-content:center; gap:8px; padding:28px; border:1px dashed #cdbfaa; color:var(--ai-muted); }
.opc-ai-empty strong { color:var(--ai-ink); font-family:Georgia,'Times New Roman',serif; font-size:28px; font-weight:400; }
.opc-ai-today-grid { display:grid; grid-template-columns:1fr 1fr; gap:54px; }
.opc-ai-today-grid>div>header { display:flex; justify-content:space-between; align-items:center; margin-bottom:17px; }
.opc-ai-today-grid h3,.opc-ai-market-columns>div>h3 { margin:0; font-size:16px; font-weight:900; }
.opc-ai-today-grid header>a { color:#8a6126 !important; font-size:9px; font-weight:900; text-decoration:none !important; text-transform:uppercase; }
.opc-ai-mini-grid { display:grid; gap:12px; }
.opc-ai-mini-grid .opc-ai-card { display:grid; grid-template-columns:180px 1fr; }
.opc-ai-mini-grid .opc-ai-card-image { aspect-ratio:1; }
.opc-ai-mini-grid .opc-ai-card-copy { padding:17px; }
.opc-ai-mini-grid .opc-ai-card-copy h3 { font-size:25px; }
.opc-ai-mini-grid .opc-ai-card-copy>div { display:none; }
.opc-ai-market { background:#0d0b09; color:#fff; }
.opc-ai-market .opc-ai-section-head { border-color:#403220; }
.opc-ai-market .opc-ai-section-head small,.opc-ai-market .opc-ai-section-head h2 span { color:var(--ai-gold); }
.opc-ai-market .opc-ai-section-head>a { border-color:var(--ai-gold); color:#fff !important; }
.opc-ai-market-intro { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-bottom:48px; background:#4a3822; border:1px solid #4a3822; }
.opc-ai-market-intro>div { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px; background:#18130e; }
.opc-ai-market-intro>div:first-child { background:var(--ai-gold); color:#111; }
.opc-ai-market-intro strong { font-family:Georgia,'Times New Roman',serif; font-size:23px; font-weight:400; }
.opc-ai-market-intro a { flex:0 0 auto; color:inherit !important; font-size:9px; font-weight:950; text-decoration:none !important; text-transform:uppercase; }
.opc-ai-market-columns { display:grid; grid-template-columns:1fr 1fr; gap:42px; }
.opc-ai-market-columns>div>h3 { margin-bottom:18px; color:var(--ai-gold); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.opc-ai-market .opc-ai-card-grid { grid-template-columns:1fr 1fr; }
.opc-ai-market .opc-ai-card { border-color:#44341f; background:#15110d; }
.opc-ai-market .opc-ai-card-copy h3 a { color:#fff !important; }
.opc-ai-market .opc-ai-card-copy>div,.opc-ai-market .opc-ai-card-copy>p { color:#9e927f; }
.opc-ai-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.opc-ai-card-grid.is-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.opc-ai-card-grid.is-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.opc-ai-card-grid.is-four .opc-ai-card-copy h3,.opc-ai-card-grid.is-three .opc-ai-card-copy h3 { font-size:30px; }
.opc-ai-inline-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.opc-ai-inline-actions a { padding:14px 18px; border:1px solid var(--ai-ink); color:var(--ai-ink) !important; font-size:9px; font-weight:950; letter-spacing:.08em; text-decoration:none !important; text-transform:uppercase; }
.opc-ai-inline-actions a:last-child { background:var(--ai-ink); color:#fff !important; }
.opc-ai-partners { background:#11100e; color:#fff; }
.opc-ai-partners .opc-ai-section-head { border-color:#433522; }
.opc-ai-partners .opc-ai-section-head>a { border-color:var(--ai-gold); color:#fff !important; }
.opc-ai-partner-promise { max-width:720px; margin:-17px 0 35px; color:#a89d8a; font-family:Georgia,'Times New Roman',serif; font-size:23px; line-height:1.45; }
.opc-ai-partners .opc-home-partner-grid { border-color:#41331f; background:#41331f; }
.opc-ai-partners .opc-partner-card { background:#18140f; color:#fff !important; }
.opc-ai-catalog-choice { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:26px; border:1px solid #49391f; background:#49391f; }
.opc-ai-catalog-choice>a { min-height:175px; display:flex; flex-direction:column; justify-content:center; padding:30px; background:#17130f; color:#fff !important; text-decoration:none !important; }
.opc-ai-catalog-choice>a:hover { background:#241c12; }
.opc-ai-catalog-choice small { color:var(--ai-gold); font-size:8px; font-weight:950; letter-spacing:.13em; }
.opc-ai-catalog-choice strong { margin:12px 0 8px; font-family:Georgia,'Times New Roman',serif; font-size:31px; font-weight:400; letter-spacing:-.035em; }
.opc-ai-catalog-choice span { color:#a89d8a; font-size:11px; }
.opc-ai-product { padding-block:80px; }
.opc-ai-product .opc-lock-main-product { margin-bottom:0; }
.opc-ai-branches { padding:95px 0; background:linear-gradient(140deg,#18130d,#090807); color:#fff; }
.opc-ai-branches>.opc-wrap { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:1px; border:1px solid #4b3a23; background:#4b3a23; }
.opc-ai-branches>.opc-wrap>div,.opc-ai-branches>.opc-wrap>a { min-height:310px; display:flex; flex-direction:column; justify-content:center; padding:42px; background:#110e0b; color:#fff !important; text-decoration:none !important; }
.opc-ai-branches>.opc-wrap>a:hover { background:#1d1710; }
.opc-ai-branches small { color:var(--ai-gold); font-size:8px; font-weight:950; letter-spacing:.14em; }
.opc-ai-branches h2 { margin:22px 0 0; font-family:Georgia,'Times New Roman',serif; font-size:48px; font-weight:400; letter-spacing:-.05em; line-height:.95; }
.opc-ai-branches strong { margin:35px 0 15px; font-family:Georgia,'Times New Roman',serif; font-size:38px; font-weight:400; letter-spacing:-.04em; }
.opc-ai-branches a span { color:#a89d8a; font-size:12px; }
.opc-ai-footer { padding:52px 0 110px; background:#080706; color:#8f877a; }
.opc-ai-footer>.opc-wrap { display:grid; grid-template-columns:1.2fr 1fr 1fr auto; gap:32px; }
.opc-ai-footer>.opc-wrap>div { display:flex; flex-direction:column; gap:8px; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.opc-ai-footer strong { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:34px; font-weight:400; letter-spacing:-.04em; }
.opc-ai-footer b { color:#ddd4c4; }
.opc-ai-footer a { color:var(--ai-gold) !important; text-decoration:none !important; }

@media (max-width:1100px) {
  .opc-ai-edition .opc-main-nav a:nth-child(2),.opc-ai-edition .opc-main-nav a:nth-child(3) { display:none; }
  .opc-ai-daily-grid { grid-template-columns:1.4fr 1fr; }
  .opc-ai-daily-grid .opc-ai-card:nth-child(3) { display:none; }
  .opc-ai-card-grid.is-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opc-ai-branches>.opc-wrap { grid-template-columns:1fr 1fr; }
  .opc-ai-branches>.opc-wrap>div { grid-column:1/-1; min-height:auto; }
}
@media (max-width:781px) {
  .opc-ai-edition { padding-bottom:68px; }
  .opc-ai-home .opc-wrap { width:min(100% - 32px,1540px); }
  .opc-ai-hero { padding-top:48px; }
  .opc-ai-hero-meta { font-size:7px; }
  .opc-ai-signature { margin-top:37px; font-size:7px; line-height:1.5; }
  .opc-ai-hero h1 { font-size:20vw; line-height:.83; }
  .opc-ai-hero h2 { margin-top:31px; font-size:37px; }
  .opc-ai-hero-text { font-size:14px; }
  .opc-ai-hero .opc-smart-search { margin-top:30px; }
  .opc-ai-hero-actions { grid-template-columns:1fr; }
  .opc-ai-hero-actions>a { min-height:125px; padding:24px; }
  .opc-ai-hero-actions strong { font-size:32px; }
  .opc-ai-pulse { grid-template-columns:1fr auto; margin-top:42px; min-height:66px; }
  .opc-ai-pulse>div:nth-child(2) { display:none; }
  .opc-ai-pulse>a { font-size:7px; }
  .opc-ai-section { padding:64px 0; }
  .opc-ai-section-head { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:28px; }
  .opc-ai-section-head h2 { font-size:46px; }
  .opc-ai-daily-grid,.opc-ai-today-grid,.opc-ai-market-columns { grid-template-columns:1fr; }
  .opc-ai-daily-grid .opc-ai-card:nth-child(3) { display:block; }
  .opc-ai-card.is-lead .opc-ai-card-copy { padding:23px; }
  .opc-ai-card.is-lead .opc-ai-card-copy h3 { font-size:39px; }
  .opc-ai-mini-grid .opc-ai-card { grid-template-columns:112px 1fr; }
  .opc-ai-mini-grid .opc-ai-card-copy { padding:13px; }
  .opc-ai-mini-grid .opc-ai-card-copy h3 { font-size:21px; }
  .opc-ai-today-grid { gap:42px; }
  .opc-ai-market-intro { grid-template-columns:1fr; }
  .opc-ai-market-intro>div { align-items:flex-start; flex-direction:column; }
  .opc-ai-market .opc-ai-card-grid,.opc-ai-card-grid.is-four,.opc-ai-card-grid.is-three { grid-template-columns:1fr; }
  .opc-ai-card-grid { grid-template-columns:1fr; }
  .opc-ai-catalog-choice { grid-template-columns:1fr; }
  .opc-ai-branches { padding:60px 0; }
  .opc-ai-branches>.opc-wrap { grid-template-columns:1fr; }
  .opc-ai-branches>.opc-wrap>div { grid-column:auto; }
  .opc-ai-branches>.opc-wrap>a { min-height:235px; padding:30px; }
  .opc-ai-branches h2 { font-size:39px; }
  .opc-ai-footer>.opc-wrap { grid-template-columns:1fr; }
}

/* 4.1.0 — compact entry app. One clear first screen, readable content below. */
.opc-ai-edition .opc-app-primary {
  min-height:64px;
  background:#090806;
}
.opc-ai-edition .opc-app-primary::after { display:none; }
.opc-ai-edition .opc-reality-wordmark { width:190px; height:52px; }
.opc-ai-edition .opc-nav-partner { border-color:var(--opc-gold) !important; color:var(--opc-gold-light) !important; }
.opc-ai-edition .opc-live-strip { min-height:38px; }
.opc-entry-hero { position:relative; overflow:hidden; padding:34px 0 58px; background:#f8f4eb; color:#111; }
.opc-entry-hero::before { position:absolute; inset:0; background:radial-gradient(circle at 88% 9%,rgba(214,168,86,.22),transparent 27%),linear-gradient(118deg,transparent 62%,rgba(214,168,86,.08)); content:""; pointer-events:none; }
.opc-entry-topline { position:relative; display:flex; justify-content:space-between; gap:20px; padding-bottom:14px; border-bottom:1px solid #cfbf9f; color:#7b6e5c; font-size:8px; font-weight:950; letter-spacing:.16em; text-transform:uppercase; }
.opc-entry-layout { position:relative; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:34px; align-items:start; padding-top:46px; }
.opc-entry-main { min-width:0; }
.opc-entry-dukat { width:78px; height:78px; float:right; margin:0 0 20px 24px; filter:drop-shadow(0 15px 25px rgba(91,55,13,.18)); }
.opc-entry-kicker { margin:0 0 16px !important; color:#8f5c24 !important; font-size:9px !important; font-weight:950; letter-spacing:.17em; text-transform:uppercase; }
.opc-entry-main>h1 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(68px,8.6vw,132px); font-weight:400; letter-spacing:-.07em; line-height:.78; }
.opc-entry-main>h1 span,.opc-ai-join h2 span { color:var(--opc-gold); }
.opc-entry-main>h2 { max-width:820px; margin:35px 0 0; font-size:clamp(30px,4vw,57px); letter-spacing:-.05em; line-height:.94; }
.opc-entry-main>p:not(.opc-entry-kicker) { max-width:760px; margin:20px 0 0; color:#655c50; font-size:16px; line-height:1.55; }
.opc-entry-search { max-width:880px; margin-top:31px; }
.opc-entry-search>b { display:block; margin-bottom:9px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.opc-entry-search .opc-smart-search { margin:0; }
.opc-entry-search .opc-smart-search>nav,.opc-entry-search .opc-smart-search>p { display:none; }
.opc-entry-search .opc-smart-search>label { max-width:none; padding:6px; border:1px solid #16130f; background:#fff; box-shadow:0 18px 45px rgba(44,30,11,.10); }
.opc-entry-search .opc-smart-search>label input { height:58px; color:#111; font-size:17px; }
.opc-entry-search .opc-smart-search>label button { min-width:135px; background:#0d0b09; color:#fff; }
.opc-entry-search>a { display:inline-block; margin-top:10px; color:#75501d !important; font-size:9px; font-weight:850; letter-spacing:.04em; text-decoration:none !important; }
.opc-entry-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:29px; }
.opc-entry-actions>a { min-height:112px; display:flex; flex-direction:column; justify-content:center; padding:20px 22px; border:1px solid #d0c3aa; background:#fff; color:#111 !important; text-decoration:none !important; transition:.18s ease; }
.opc-entry-actions>a:hover { border-color:#111; transform:translateY(-2px); box-shadow:0 15px 35px rgba(40,27,10,.10); }
.opc-entry-actions>a:nth-child(2),.opc-entry-actions>a:nth-child(4) { background:#11100e; color:#fff !important; }
.opc-entry-actions small { color:#9b6b28; font-size:7px; font-weight:950; letter-spacing:.14em; }
.opc-entry-actions strong { margin:8px 0 5px; font-family:Georgia,'Times New Roman',serif; font-size:26px; font-weight:400; letter-spacing:-.035em; }
.opc-entry-actions span { color:inherit; font-size:9px; font-weight:800; opacity:.66; }
.opc-entry-side { display:grid; gap:14px; }
.opc-entry-partner { position:relative; min-height:390px; box-sizing:border-box; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; padding:25px; background:linear-gradient(180deg,rgba(8,7,6,.18),rgba(8,7,6,.93)),#111 var(--opc-partner-photo) center/cover no-repeat; color:#fff !important; text-decoration:none !important; }
.opc-entry-partner>span { width:max-content; padding:7px 9px; background:var(--opc-gold); color:#111; font-size:7px; font-weight:950; letter-spacing:.11em; }
.opc-entry-partner div { display:flex; flex-direction:column; align-items:flex-start; }
.opc-entry-partner small { color:var(--opc-gold-light); font-size:8px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.opc-entry-partner strong { margin-top:9px; font-family:Georgia,'Times New Roman',serif; font-size:46px; font-weight:400; letter-spacing:-.05em; line-height:.88; }
.opc-entry-partner p { margin:13px 0 22px; color:#d5cbbb; font-size:13px; }
.opc-entry-partner b { padding-bottom:5px; border-bottom:1px solid var(--opc-gold); color:var(--opc-gold-light); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.opc-entry-app { padding:24px; border:1px solid #c9b688; background:linear-gradient(135deg,#ead49b,#b87f31); color:#111; }
.opc-entry-app small { font-size:7px; font-weight:950; letter-spacing:.13em; }
.opc-entry-app strong { display:block; margin:9px 0; font-family:Georgia,'Times New Roman',serif; font-size:28px; font-weight:400; letter-spacing:-.04em; }
.opc-entry-app p { margin:0 0 18px; font-size:11px; line-height:1.45; }
.opc-entry-app button { padding:12px 14px; border:0; background:#111; color:#fff; font-size:8px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.opc-entry-app>a { display:inline-block; margin:12px 0 0 10px; color:#111 !important; font-size:8px; font-weight:900; text-decoration:none !important; }
.opc-entry-shortcuts { border-top:1px solid #2e2519; border-bottom:1px solid #2e2519; background:#0b0a08; }
.opc-entry-shortcuts .opc-wrap { display:flex; overflow-x:auto; scrollbar-width:none; }
.opc-entry-shortcuts .opc-wrap::-webkit-scrollbar { display:none; }
.opc-entry-shortcuts a { flex:1 0 auto; padding:16px 22px; border-right:1px solid #2e2519; color:#f5ead7 !important; font-size:8px; font-weight:950; letter-spacing:.1em; text-align:center; text-decoration:none !important; text-transform:uppercase; }
.opc-entry-shortcuts a:hover { background:#20180e; color:var(--opc-gold-light) !important; }
.opc-ai-daily-grid { grid-template-columns:1.35fr repeat(2,minmax(0,.65fr)); }
.opc-ai-daily-grid .opc-ai-card:nth-child(n+4) { display:block; }
.opc-ai-daily-grid .opc-ai-card.is-lead { grid-row:span 2; }
.opc-ai-compact { padding-block:72px; }
.opc-ai-join { padding:76px 0; background:#d6a856; color:#111; }
.opc-ai-join>.opc-wrap { display:grid; grid-template-columns:110px 1fr auto; gap:34px; align-items:center; }
.opc-ai-join img { width:110px; height:110px; }
.opc-ai-join small { font-size:8px; font-weight:950; letter-spacing:.15em; }
.opc-ai-join h2 { margin:9px 0 12px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(39px,5vw,67px); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.opc-ai-join p { max-width:720px; margin:0; font-size:13px; line-height:1.5; }
.opc-ai-join>a { padding:17px 20px; background:#111; color:#fff !important; font-size:9px; font-weight:950; letter-spacing:.08em; text-decoration:none !important; text-transform:uppercase; white-space:nowrap; }

.opc-smart-search-page { background:#f6f2e9; color:#111; }
.opc-smart-search-page>header { border-color:#d7c7a8; background:#fff; }
.opc-smart-search-page>header h1 { color:#111; }
.opc-smart-search-page .opc-smart-search>nav button { border-color:#c8b48f; color:#675d50; }
.opc-smart-search-page .opc-smart-search>label { border-color:#111; background:#fff; }
.opc-smart-search-page .opc-smart-search>p { color:#756c60; }
.opc-partner-search-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.opc-partner-search-results article { min-width:0; border:1px solid #d5c7ad; background:#fff; }
.opc-partner-search-results article.is-featured { border-color:#b6802f; background:linear-gradient(145deg,#16120d,#080706); }
.opc-partner-search-results article>a { min-height:250px; box-sizing:border-box; display:flex; align-items:flex-start; flex-direction:column; padding:30px; color:#111 !important; text-decoration:none !important; }
.opc-partner-search-results article.is-featured>a { color:#fff !important; }
.opc-partner-search-results small { color:#946621; font-size:8px; font-weight:950; letter-spacing:.13em; }
.opc-partner-search-results h2 { margin:28px 0 12px; font-family:Georgia,'Times New Roman',serif; font-size:42px; font-weight:400; letter-spacing:-.045em; line-height:.92; }
.opc-partner-search-results p { color:#73695d; font-size:13px; line-height:1.5; }
.opc-partner-search-results .is-featured p { color:#bdb2a1; }
.opc-partner-search-results article span { margin-top:auto; color:#956621; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.opc-smart-search-page .opc-smart-empty { border-color:#bfa979; color:#6f675d; }
.opc-smart-search-page .opc-smart-empty b { color:#111; }
.opc-smart-empty nav { display:flex; flex-wrap:wrap; gap:8px; margin-top:9px; }
.opc-smart-empty nav a { padding:11px 13px; border:1px solid #111; color:#111 !important; font-size:8px; font-weight:950; text-decoration:none !important; text-transform:uppercase; }

@media (max-width:1100px) {
  .opc-entry-layout { grid-template-columns:1fr minmax(280px,.55fr); }
  .opc-entry-actions { grid-template-columns:1fr 1fr; }
  .opc-ai-daily-grid { grid-template-columns:1.2fr 1fr; }
}
@media (max-width:781px) {
  .opc-ai-edition .opc-app-primary { min-height:58px; padding-left:12px; padding-right:12px; }
  .opc-ai-edition .opc-app-header .opc-reality-wordmark { width:142px; height:44px; }
  .opc-ai-edition .opc-main-nav { display:none; }
  .opc-ai-edition .opc-live-strip { min-height:46px; padding:0; gap:0; }
  .opc-ai-edition .opc-live-strip>time,.opc-ai-edition .opc-live-strip>.opc-nameday,.opc-ai-edition .opc-live-motto { display:none; }
  .opc-ai-edition .opc-live-name { flex:1 1 auto; padding-left:18px; }
  .opc-ai-edition .opc-live-strip>strong { display:none; }
  .opc-ai-edition .opc-live-actions { margin-left:0; }
  .opc-ai-edition .opc-live-action { min-width:0; padding:0 14px; font-size:8px; }
  .opc-entry-hero { padding:21px 0 40px; }
  .opc-entry-topline { font-size:6px; }
  .opc-entry-layout { grid-template-columns:1fr; gap:18px; padding-top:30px; }
  .opc-entry-dukat { width:58px; height:58px; margin-left:15px; }
  .opc-entry-main>h1 { font-size:19vw; }
  .opc-entry-main>h2 { margin-top:25px; font-size:35px; }
  .opc-entry-main>p:not(.opc-entry-kicker) { font-size:13px; }
  .opc-entry-search { margin-top:24px; }
  .opc-entry-search .opc-smart-search>label { grid-template-columns:1fr auto; padding:4px; }
  .opc-entry-search .opc-smart-search>label input { width:100%; height:50px; padding:0 13px; font-size:14px; }
  .opc-entry-search .opc-smart-search>label button { min-width:79px; min-height:50px; font-size:8px; }
  .opc-entry-actions { grid-template-columns:1fr 1fr; gap:7px; margin-top:22px; }
  .opc-entry-actions>a { min-height:105px; padding:16px; }
  .opc-entry-actions strong { font-size:21px; }
  .opc-entry-side { grid-template-columns:1fr; }
  .opc-entry-partner { min-height:270px; }
  .opc-entry-partner strong { font-size:40px; }
  .opc-entry-app { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 12px; }
  .opc-entry-app small,.opc-entry-app strong,.opc-entry-app p { grid-column:1/-1; }
  .opc-entry-app strong { font-size:25px; }
  .opc-entry-app button { grid-column:1; }
  .opc-entry-app>a { grid-column:2; margin:0; }
  .opc-entry-shortcuts .opc-wrap { width:100%; }
  .opc-entry-shortcuts a { padding:14px 18px; }
  .opc-ai-daily-grid { grid-template-columns:1fr; }
  .opc-ai-daily-grid .opc-ai-card:nth-child(n+5) { display:none; }
  .opc-ai-join>.opc-wrap { grid-template-columns:70px 1fr; gap:20px; }
  .opc-ai-join img { width:70px; height:70px; }
  .opc-ai-join h2 { font-size:39px; }
  .opc-ai-join p { font-size:11px; }
  .opc-ai-join>a { grid-column:1/-1; text-align:center; }
  .opc-partner-search-results { grid-template-columns:1fr; }
}
@media (max-width:390px) {
  .opc-ai-edition .opc-app-header .opc-reality-wordmark { width:118px; }
  .opc-entry-actions { grid-template-columns:1fr; }
  .opc-entry-actions>a { min-height:88px; }
}

/* 4.2.0 — enter page, OPC Bar and an uncompromised WooCommerce path. */
.opc-account-link {
  min-height:42px; box-sizing:border-box; display:flex; align-items:center; gap:7px; padding:0 11px;
  border:1px solid rgba(214,168,86,.48); border-radius:3px; color:#f5ead7 !important;
  font-size:9px; font-weight:950; letter-spacing:.05em; line-height:1; text-decoration:none !important;
  text-transform:uppercase; white-space:nowrap;
}
.opc-account-link:hover { border-color:#f1d394; background:#21190f; color:#fff !important; }
.opc-account-link>span { width:20px; height:20px; display:grid; place-items:center; }
.opc-account-link svg { width:20px; height:20px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.opc-entry-account { margin:0 !important; padding:12px 14px; background:#111; color:#fff !important; font-size:8px !important; font-weight:950 !important; letter-spacing:.08em; text-decoration:none !important; text-transform:uppercase; }
.opc-entry-app .opc-install-open { border:1px solid rgba(17,17,17,.55); background:transparent; color:#111; }
.opc-app-nav .opc-app-bar-icon { width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--opc-gold); border-radius:50%; color:var(--opc-gold); font-family:Georgia,serif; font-size:15px; }

.opc-ai-bar-entry { padding:52px 0; border-bottom:1px solid #46341d; background:radial-gradient(circle at 86% 15%,rgba(214,168,86,.18),transparent 30%),#0b0907; color:#fff6e6; }
.opc-ai-bar-entry>.opc-wrap { display:grid; grid-template-columns:1.1fr .9fr; gap:1px; background:#4b3923; border:1px solid #4b3923; }
.opc-ai-bar-entry>.opc-wrap>div { padding:46px; background:#0d0b08; }
.opc-ai-bar-entry small { color:var(--opc-gold); font-size:8px; font-weight:950; letter-spacing:.16em; }
.opc-ai-bar-entry h2 { margin:13px 0 16px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(43px,5vw,72px); font-weight:400; letter-spacing:-.055em; line-height:.9; }
.opc-ai-bar-entry h2 span { color:var(--opc-gold); }
.opc-ai-bar-entry p { max-width:680px; margin:0; color:#cfc4b2; font-size:13px; line-height:1.55; }
.opc-ai-bar-entry nav { display:flex; flex-wrap:wrap; gap:9px; margin-top:27px; }
.opc-ai-bar-entry nav a { padding:14px 16px; border:1px solid #6c5537; color:#fff4df !important; font-size:8px; font-weight:950; letter-spacing:.08em; text-decoration:none !important; text-transform:uppercase; }
.opc-ai-bar-entry nav a:first-child { border-color:var(--opc-gold); background:var(--opc-gold); color:#111 !important; }
.opc-ai-bar-card { min-height:330px; display:flex; flex-direction:column; justify-content:space-between; padding:46px; background:radial-gradient(circle at 84% 18%,rgba(255,220,145,.22),transparent 24%),linear-gradient(145deg,#2b1d0e,#090806 68%); color:#fff6e6 !important; text-decoration:none !important; }
.opc-ai-bar-card>span { color:var(--opc-gold); font-size:10px; font-weight:950; letter-spacing:.2em; }
.opc-ai-bar-card>strong { font-family:Georgia,'Times New Roman',serif; font-size:37px; font-weight:400; letter-spacing:-.04em; line-height:.95; }
.opc-ai-bar-card>b { width:max-content; padding-bottom:6px; border-bottom:1px solid var(--opc-gold); color:#f0cf8d; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }

@media (max-width:781px) {
  .opc-ai-edition .opc-app-primary { gap:6px; }
  .opc-ai-edition .opc-header-tools { gap:5px; }
  .opc-ai-edition .opc-top-install { display:none; }
  .opc-ai-edition .opc-account-link { width:42px; min-height:42px; justify-content:center; padding:0; border-radius:50%; }
  .opc-ai-edition .opc-account-link b { display:none; }
  .opc-ai-edition .opc-cart-link { width:46px; min-height:42px; justify-content:center; gap:0; padding:0; border-radius:50%; }
  .opc-ai-edition .opc-cart-label { display:none; }
  .opc-ai-edition .opc-cart-count { position:absolute; top:-4px; right:-2px; }
  .opc-entry-hero { padding-top:18px; }
  .opc-entry-topline { display:none; }
  .opc-entry-layout { padding-top:12px; }
  .opc-entry-dukat { width:47px; height:47px; margin:0 0 12px 12px; }
  .opc-entry-main>h1 { font-size:56px; line-height:.88; }
  .opc-entry-main>h2 { margin-top:20px; font-size:29px; line-height:.98; }
  .opc-entry-main>p:not(.opc-entry-kicker) { margin-top:14px; }
  .opc-entry-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opc-entry-actions>a { min-height:94px; padding:14px; }
  .opc-entry-actions strong { font-size:19px; }
  .opc-entry-actions span { font-size:8px; }
  .opc-entry-partner { min-height:230px; }
  .opc-entry-app { display:flex; align-items:stretch; flex-direction:column; gap:10px; }
  .opc-entry-app small,.opc-entry-app strong,.opc-entry-app p,.opc-entry-app button,.opc-entry-app>a { grid-column:auto; }
  .opc-entry-app button,.opc-entry-app>a { width:100%; box-sizing:border-box; margin:0; text-align:center; }
  .opc-ai-bar-entry { padding:28px 0; }
  .opc-ai-bar-entry>.opc-wrap { width:min(100% - 28px,1540px); grid-template-columns:1fr; }
  .opc-ai-bar-entry>.opc-wrap>div,.opc-ai-bar-card { padding:27px; }
  .opc-ai-bar-entry h2 { font-size:41px; }
  .opc-ai-bar-card { min-height:230px; }
  .opc-ai-bar-card>strong { font-size:29px; }
}

@media (max-width:390px) {
  .opc-ai-edition .opc-app-header .opc-reality-wordmark { width:110px; }
  .opc-entry-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opc-entry-actions>a { min-height:90px; padding:12px; }
  .opc-entry-actions strong { font-size:17px; }
}

/* WooCommerce system screens stay readable and fully operable in the app shell. */
body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-account main { background:#f8f4eb; color:#16130f; }
body.woocommerce-cart main>.wp-block-group,
body.woocommerce-checkout main>.wp-block-group,
body.woocommerce-account main>.wp-block-group,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content { width:min(1180px,calc(100% - 40px)); box-sizing:border-box; margin-inline:auto; padding:54px 0 90px; }
.woocommerce .woocommerce-notices-wrapper:empty { display:none; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { box-sizing:border-box; margin:0 0 20px; padding:16px 18px; border:1px solid #d1bd92; border-top:3px solid #d6a856; background:#fff; color:#17130e; }
.woocommerce form .form-row label { display:block; margin-bottom:7px; color:#17130e; font-size:10px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.woocommerce form .input-text,
.woocommerce form input[type="email"],
.woocommerce form input[type="password"],
.woocommerce form input[type="tel"],
.woocommerce form select,
.woocommerce form textarea { width:100%; min-height:48px; box-sizing:border-box; padding:11px 13px; border:1px solid #cbbd9f; border-radius:0; background:#fff; color:#111; font-size:16px; opacity:1; visibility:visible; }
.woocommerce form textarea { min-height:120px; }
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.wc-block-components-button { min-height:46px; box-sizing:border-box; padding:13px 17px !important; border:1px solid #111 !important; border-radius:0 !important; background:#111 !important; color:#fff !important; font-size:10px !important; font-weight:950 !important; letter-spacing:.06em; text-decoration:none !important; text-transform:uppercase; }
.woocommerce table.shop_table { width:100%; border:1px solid #d8ccb5; border-collapse:collapse; background:#fff; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:15px; border-bottom:1px solid #e2d8c5; color:#17130e; text-align:left; }
.woocommerce table.shop_table img { width:72px; height:auto; }
.woocommerce .cart_totals,.woocommerce-checkout-review-order,.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register { box-sizing:border-box; padding:24px; border:1px solid #d7c9ad; background:#fff; }
.woocommerce .quantity .qty { min-height:44px; border:1px solid #cbbd9f; background:#fff; color:#111; }
.woocommerce-account .woocommerce { display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; }
.woocommerce-account .woocommerce::before,.woocommerce-account .woocommerce::after { display:none; }
.woocommerce-MyAccount-navigation ul { margin:0; padding:0; list-style:none; border:1px solid #d7c9ad; background:#fff; }
.woocommerce-MyAccount-navigation li+li { border-top:1px solid #e2d8c5; }
.woocommerce-MyAccount-navigation a { display:block; padding:14px 16px; color:#17130e !important; font-size:10px; font-weight:900; letter-spacing:.04em; text-decoration:none !important; text-transform:uppercase; }
.woocommerce-MyAccount-navigation .is-active a { background:#d6a856; color:#111 !important; }
.woocommerce-account .u-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.woocommerce-account .u-column1,.woocommerce-account .u-column2 { width:auto !important; float:none !important; }
@media (max-width:781px) {
  body.woocommerce-cart .entry-content,body.woocommerce-checkout .entry-content,body.woocommerce-account .entry-content { width:min(100% - 28px,1180px); padding-top:28px; }
  .woocommerce-account .woocommerce { grid-template-columns:1fr; }
  .woocommerce-MyAccount-navigation ul { display:flex; overflow-x:auto; }
  .woocommerce-MyAccount-navigation li { flex:0 0 auto; border-top:0 !important; border-right:1px solid #e2d8c5; }
  .woocommerce-account .u-columns { grid-template-columns:1fr; }
  .woocommerce table.shop_table_responsive tr td { display:block; text-align:right; }
  .woocommerce table.shop_table_responsive tr td::before { float:left; font-weight:900; }
}

/* Must win over the legacy AI Edition mobile spacing declared above. */
body.opc-enter-page.opc-ai-edition { padding-bottom:0 !important; background:#f7f3ea; }

/* 4.6.0 — white-and-gold digital reception with a visible OPC concierge. */
.opc-enter-concierge {
  width:min(100%,760px); min-width:0; min-height:70px; display:grid; grid-template-columns:86px minmax(0,1fr); align-items:center;
  margin-top:clamp(10px,1.4vh,15px); overflow:hidden; border:1px solid var(--enter-line);
  background:linear-gradient(100deg,rgba(255,255,255,.96),rgba(250,243,229,.96)); box-shadow:0 14px 36px rgba(79,55,18,.08); text-align:left;
}
.opc-enter-concierge-portrait { position:relative; align-self:stretch; overflow:hidden; border-right:1px solid var(--enter-line); background:radial-gradient(circle at 50% 36%,#fff 0%,#eee2cc 78%); }
.opc-enter-concierge-portrait img { position:absolute; top:1px; left:50%; width:82px; height:113px; max-width:none; object-fit:contain; transform:translateX(-50%); filter:drop-shadow(0 7px 9px rgba(78,53,18,.16)); }
.opc-enter-concierge>div:last-child { min-width:0; display:grid; gap:3px; padding:9px 16px; }
.opc-enter-concierge small { color:var(--enter-gold-dark); font-size:7px; font-weight:950; letter-spacing:.15em; }
.opc-enter-concierge b { overflow:hidden; color:var(--enter-ink); font-family:Georgia,'Times New Roman',serif; font-size:17px; font-weight:400; line-height:1.08; text-overflow:ellipsis; white-space:nowrap; }
.opc-enter-concierge span { overflow:hidden; color:#6d6356; font-size:9px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.opc-enter-concierge+.opc-enter-ai { margin-top:8px; }
.opc-enter-pulse { width:min(100%,760px); min-width:0; display:grid; grid-template-columns:1.12fr .88fr; gap:1px; margin-top:9px; border:1px solid var(--enter-line); background:var(--enter-line); text-align:left; }
.opc-enter-pulse>a { min-width:0; min-height:54px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:center; gap:4px 11px; padding:9px 12px; background:rgba(255,253,248,.98); color:var(--enter-ink) !important; text-decoration:none !important; }
.opc-enter-pulse small { grid-column:1/-1; overflow:hidden; color:var(--enter-gold-dark); font-size:6px; font-weight:950; letter-spacing:.11em; text-overflow:ellipsis; white-space:nowrap; }
.opc-enter-pulse b { min-width:0; overflow:hidden; font-family:Georgia,'Times New Roman',serif; font-size:12px; font-weight:400; line-height:1.05; text-overflow:ellipsis; white-space:nowrap; }
.opc-enter-pulse span { align-self:center; color:#805817; font-size:6px; font-weight:950; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.opc-enter-pulse>a:hover { background:#fff; }

/* The same reception language continues on every inner page. */
.opc-ai-edition .opc-app-primary {
  border-bottom:1px solid #d9c69e; background:linear-gradient(105deg,#fffdfa 0%,#f5ecdc 52%,#fffaf0 100%); color:#17130e;
  box-shadow:0 9px 30px rgba(73,49,14,.10);
}
.opc-ai-edition .opc-main-nav a,.opc-ai-edition .opc-top-install { border-color:#d7c39b !important; background:rgba(255,255,255,.5); color:#3d3327 !important; }
.opc-ai-edition .opc-main-nav a:hover,.opc-ai-edition .opc-top-install:hover { border-color:#b78632 !important; background:#fff; color:#6f4913 !important; }
.opc-ai-edition .opc-main-nav .opc-nav-place { border-color:#bd8b34 !important; background:linear-gradient(145deg,#f1d78c,#c99742) !important; color:#17130e !important; box-shadow:none; }
.opc-ai-edition .opc-account-link { border-color:#d6c29a; background:rgba(255,255,255,.72); color:#3d3327 !important; }
.opc-ai-edition .opc-account-link:hover { border-color:#b78632; background:#fff; color:#6f4913 !important; }
.opc-ai-edition .opc-cart-link { border-color:#b88632; background:linear-gradient(145deg,#f1d78c,#c99742); color:#17130e !important; }
.opc-ai-edition .opc-cart-icon svg { stroke:#17130e; }
.opc-ai-edition .opc-cart-count { background:#fffaf0; color:#6f4913; }
.opc-ai-edition .opc-live-strip { border-color:#d0ad67; background:#fffaf0; color:#332b21; box-shadow:0 5px 16px rgba(72,50,17,.06); }
.opc-ai-edition .opc-live-name i { background:#c99742; box-shadow:0 0 0 5px rgba(201,151,66,.12); }
.opc-ai-edition .opc-live-motto,.opc-ai-edition .opc-nameday { color:#7b6e5d; }
.opc-ai-edition .opc-live-action { border-color:#d2b26f; color:#332b21 !important; }
.opc-ai-edition .opc-live-offer { background:#d6a856; color:#17130e !important; }
.opc-ai-edition .opc-live-demand { background:#fff; color:#17130e !important; }
.opc-ai-edition .opc-primary-sections { border-color:#ded0b4; background:#fffaf0; }
.opc-ai-edition .opc-primary-sections a { border-color:#ded0b4; color:#44382a !important; }

@media (max-width:781px) {
  .opc-enter-stage { justify-content:flex-start; overflow:hidden; padding-top:clamp(7px,1.3vh,12px); }
  .opc-enter-identity img { width:34px; height:42px; }
  .opc-enter-identity b { font-size:21px; }
  .opc-enter-edition { margin:5px 0 6px; }
  .opc-enter-stage>h1 { font-size:clamp(34px,9.8vw,44px); }
  .opc-enter-lead { margin-top:5px; font-size:9px; }
  .opc-enter-concierge { min-height:58px; grid-template-columns:68px minmax(0,1fr); margin-top:7px; }
  .opc-enter-concierge-portrait img { width:68px; height:95px; }
  .opc-enter-concierge>div:last-child { gap:2px; padding:7px 10px; }
  .opc-enter-concierge small { font-size:5.5px; }
  .opc-enter-concierge b { font-size:13px; }
  .opc-enter-concierge span { font-size:7px; }
  .opc-enter-concierge+.opc-enter-ai { margin-top:6px; }
  .opc-enter-ai>form { min-height:50px; }
  .opc-enter-ai input { height:28px; font-size:15px; }
  .opc-enter-prompts { margin-top:5px; }
  .opc-enter-prompts button { padding:5px 3px; }
  .opc-enter-news { min-height:48px; margin-top:6px; }
  .opc-enter-news small { font-size:5.5px; }
  .opc-enter-news b { font-size:17px; }
  .opc-enter-voucher-inline { margin-top:5px; }
  .opc-enter-actions { margin-top:5px; }
  .opc-enter-pulse { margin-top:6px; }
  .opc-enter-pulse>a { min-height:46px; padding:6px 8px; }
  .opc-enter-pulse small { font-size:5px; }
  .opc-enter-pulse b { font-size:9px; }
  .opc-enter-pulse span { font-size:5px; }
  .opc-app-nav { border-top:1px solid #cda75b !important; background:rgba(255,252,245,.98) !important; color:#17130e !important; box-shadow:0 -12px 32px rgba(57,38,10,.12); }
  .opc-app-nav a,.opc-app-nav button { color:#17130e !important; }
  .opc-app-nav span { color:#17130e; }
  .opc-app-nav .opc-app-bar-icon { border-color:#b88632; background:#fff; color:#815817; }
  .opc-app-nav .opc-app-place span { background:linear-gradient(145deg,#f1d78c,#c99742) !important; color:#17130e !important; box-shadow:0 0 0 4px rgba(201,151,66,.15); }
}

@media (max-height:760px) and (max-width:781px) {
  .opc-enter-identity img { width:30px; height:37px; }
  .opc-enter-edition { margin:3px 0 4px; }
  .opc-enter-stage>h1 { font-size:34px; }
  .opc-enter-lead { margin-top:3px; }
  .opc-enter-concierge { min-height:50px; grid-template-columns:59px minmax(0,1fr); margin-top:5px; }
  .opc-enter-concierge-portrait img { width:59px; height:82px; }
  .opc-enter-concierge span { display:none; }
  .opc-enter-ai>form { min-height:46px; }
  .opc-enter-ai label { padding-block:4px; }
  .opc-enter-ai input { height:25px; }
  .opc-enter-prompts { display:none; }
  .opc-enter-news { min-height:44px; }
  .opc-enter-voucher-inline { height:40px; }
  .opc-enter-voucher-inline>.opc-enter-voucher-widget,.opc-enter-voucher-inline form,.opc-enter-voucher-inline form input[type="text"],.opc-enter-voucher-inline form input:not([type]),.opc-enter-voucher-inline form input[type="search"] { height:38px !important; min-height:38px !important; }
  .opc-enter-voucher-inline form button,.opc-enter-voucher-inline form input[type="submit"] { min-height:38px !important; }
  .opc-enter-pulse>a { min-height:40px; }
  .opc-enter-footer { min-height:32px; }
}
