/* Core Gutenberg layout integration. */
.wp-site-blocks{padding:0}.wp-site-blocks>header,.wp-site-blocks>footer,.wp-site-blocks>main{margin-block-start:0}.oc-block-header{background:white;border-bottom:1px solid var(--border)}.oc-block-header .header-inner{padding:12px 0;width:min(1440px,calc(100% - 40px));min-height:70px;gap:20px}.oc-block-header .wp-block-site-title{font-size:17px;line-height:1.15;max-width:190px}.oc-block-header .wp-block-site-title a{color:var(--navy)}.header-inner .wp-block-navigation{display:flex;position:static;width:auto;padding:0;border:0}.header-inner .wp-block-navigation a{font-size:12px;min-height:0;padding:0}.wp-block-navigation__responsive-container.is-menu-open{padding:30px}.oc-block-header .wp-block-search{max-width:280px;flex:1;min-width:160px}.oc-block-header .wp-block-search__inside-wrapper{padding:0;border-color:var(--input)}.oc-block-header .wp-block-search__button{margin-left:0}.oc-block-footer{border-top:1px solid var(--border);padding:32px 24px;background:white}.oc-block-footer .wp-block-columns{max-width:1440px;margin:auto}.oc-block-footer h2{font-size:17px}.oc-block-footer p{font-size:13px}.oc-home-cover{min-height:316px;padding:32px max(24px,calc((100vw - 1440px)/2));margin:0!important;background-position:right center}.oc-home-cover h1{font:700 44px/1 Georgia,serif;color:white;max-width:560px}.oc-home-cover p{color:white;max-width:560px}.oc-home-cover .wp-block-search{max-width:590px}.oc-home-cover .wp-block-search__input{background:white}.oc-home-content{width:min(1440px,calc(100% - 48px));margin:28px auto}.oc-category-row .wp-block-column{padding:20px;background:var(--pale);border-radius:6px}.oc-section-head{margin-top:32px!important}.oc-data-block{min-width:0}.oc-data-block .container{max-width:1440px}.oc-native-content{padding-block:30px}.oc-native-content p{font-size:16px}.editor-styles-wrapper .oc-data-block a{pointer-events:none}.editor-styles-wrapper .oc-data-block{font-size:13px}.wp-block-query .wp-block-post-template{padding:0;list-style:none}.oc-core-query .wp-block-post{border:1px solid var(--border);border-radius:6px;padding:12px}.oc-core-query .wp-block-post-featured-image img{height:190px;object-fit:contain}.oc-core-query .wp-block-post-title{font-size:17px}.oc-core-query .wp-block-post-excerpt{font-size:13px}.oc-data-block .detail{padding-top:4px}.oc-block-header .wp-block-navigation__container{gap:18px}.wp-block-group.has-global-padding{padding-inline:24px}
@media(max-width:900px){.oc-block-header .header-inner{flex-wrap:wrap}.header-inner .wp-block-navigation{display:flex;position:static}.oc-block-header .wp-block-search{max-width:none}}@media(max-width:640px){.oc-block-header .wp-block-search{flex-basis:100%}.oc-home-cover h1{font-size:33px}.oc-home-content{width:calc(100% - 32px)}.header-inner .wp-block-navigation{display:flex;position:static}.oc-block-header .wp-block-navigation__responsive-container-open{display:flex}.oc-block-header .wp-block-site-title{max-width:180px}}

.oc-category-row .wp-block-column{padding:0;background:transparent}.oc-category-row .wp-block-cover{border-radius:6px;padding:14px}.oc-category-row h3{color:white;font-size:17px}.oc-category-row p{color:white;font-size:12px}.oc-data-block{font-size:13px}

/* Layout contract: section backgrounds span the viewport; inner content is bounded. */
:root{--oc-wide:var(--wp--custom--layout--catalogue,1440px);--oc-detail:var(--wp--custom--layout--detail,1200px);--oc-reading:var(--wp--custom--layout--reading,760px);--oc-gutter:24px}
.container,.hero-inner{width:min(var(--oc-wide),calc(100% - 2 * var(--oc-gutter)));max-width:var(--oc-wide);margin-inline:auto}
.oc-data-block .container{max-width:var(--oc-wide)}
.oc-block-header .header-inner{width:min(var(--oc-wide),calc(100% - 2 * var(--oc-gutter)))}
.oc-block-footer .wp-block-columns{max-width:var(--oc-wide)}
.oc-home-content{width:min(var(--oc-wide),calc(100% - 2 * var(--oc-gutter)));max-width:var(--oc-wide)}
.oc-home-cover{width:100%;max-width:none;padding-inline:max(var(--oc-gutter),calc((100% - var(--oc-wide))/2))}
.oc-home-main>.entry-content>* ,.oc-canvas-main>.entry-content>*{max-width:none}
.oc-home-main>.entry-content>.oc-home-content,.oc-canvas-main>.entry-content>.oc-home-content{max-width:var(--oc-wide)}
.oc-detail-layout .container,.oc-detail-layout .hero-inner{max-width:var(--oc-detail);width:min(var(--oc-detail),calc(100% - 2 * var(--oc-gutter)))}
.oc-detail-layout .detail-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.oc-detail-layout .detail-summary>.market-panel,.oc-detail-layout .product-summary>aside{grid-column:1/-1}
.oc-detail-layout .entry-content>.alignwide{max-width:var(--oc-detail)}
.oc-native-content>.container{max-width:var(--oc-detail);width:min(var(--oc-detail),calc(100% - 2 * var(--oc-gutter)))}
.oc-native-content .wp-block-post-content{--wp--style--global--content-size:var(--oc-reading);--wp--style--global--wide-size:var(--oc-detail)}
.oc-native-content .entry-content>.alignwide{max-width:var(--oc-detail)}
.oc-reading-content .wp-block-post-title{max-width:var(--oc-reading);margin-inline:auto}
.oc-reading-content .wp-block-post-featured-image{max-width:var(--oc-detail);margin-inline:auto}
.oc-data-block,.oc-home-content .wp-block-column{min-width:0}
@media(max-width:640px){
 :root{--oc-gutter:16px}
 .oc-detail-layout .detail-summary{grid-template-columns:minmax(0,1fr);gap:22px}
 .oc-detail-layout .detail-summary>.market-panel,.oc-detail-layout .product-summary>aside{grid-column:auto}
 .price-table{min-width:0;width:100%;table-layout:auto}
 .price-table .price-secondary{display:none}
 .price-table .table-identity{min-width:0;gap:6px}
 .price-table .table-identity img{width:38px;min-width:38px}
 .price-table th,.price-table td{padding:8px 5px;overflow-wrap:anywhere}
 .price-table td.num{white-space:normal}
}

/* Catalogue repair: release outer WordPress reading constraints, retain 1440px inner containers.
   Explicit dimensions intentionally protect catalogue presentation from saved reading-width globals. */
body.oc-catalogue-view .wp-site-blocks>main,
.oc-catalogue-main,
body.oc-catalogue-view main.oc-native-content>.container,
body.oc-catalogue-view main .wp-block-post-content{
 width:100%;max-width:none!important;margin-inline:0;padding-inline:0;
 --wp--style--global--content-size:1440px;--wp--style--global--wide-size:1440px;
}
.oc-catalogue-block,
.is-layout-constrained>.oc-catalogue-block,
.entry-content>.oc-catalogue-block{
 box-sizing:border-box;width:100%;max-width:none!important;margin-inline:auto!important;
}
.oc-catalogue-block>.container,.oc-catalogue-block>.hero>.hero-inner{
 box-sizing:border-box;width:calc(100% - 48px);max-width:1440px!important;margin-inline:auto;
}
.oc-catalogue-block .oc-detail-layout .container,.oc-catalogue-block .oc-detail-layout .hero-inner{
 max-width:1200px!important;
}
@media(max-width:640px){
 .oc-catalogue-block>.container,.oc-catalogue-block>.hero>.hero-inner{width:calc(100% - 32px)}
}

/* Image-attached badges: position against the media link, not the metadata or a taller tile. */
.oc-data-block .tile .media{position:relative;isolation:isolate}
.oc-data-block .tile-type-overlay{
 position:absolute;inset-block-start:8px;inset-inline-start:8px;
 max-width:calc(100% - 52px);z-index:2;pointer-events:none;
}
.oc-data-block .tile-type-overlay>.badge{
 display:inline-block;max-width:100%;padding:5px 10px;border-radius:999px;
 font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;
 box-shadow:0 1px 4px #081b4f20;
}
.oc-data-block .tile .media>.price-overlay{
 position:absolute;inset:auto;inset-block-end:8px;inset-inline-start:8px;
 z-index:2;max-width:calc(100% - 16px);margin:0;padding:5px 9px;
 border-radius:999px;background:#fffffff0;color:var(--navy);
 font-size:12px;line-height:1.2;font-weight:700;box-shadow:0 1px 4px #081b4f20;
 pointer-events:none;
}
/* Square screenshot fixtures and full card artwork each use their natural image ratio.
   This avoids letterboxing space between the actual image and its price overlay. */
.oc-data-block .featured-grid .card-tile .card-media{aspect-ratio:auto}
.oc-data-block .featured-grid .card-tile .card-media>img{
 display:block;width:100%;height:auto;max-height:none;object-fit:contain;
}
.oc-data-block .featured-grid .card-tile .card-media>.image-fallback{
 display:grid;min-height:220px;place-items:center;
}

/* The hero is white-on-navy; search controls must not inherit its white text. */
:is(.home-hero,.oc-home-cover) .wp-block-search{max-width:590px;width:100%}
:is(.home-hero,.oc-home-cover) .wp-block-search__inside-wrapper{
 box-sizing:border-box;display:flex;align-items:center;gap:0;padding:0;border:1px solid #9aa8bf;
 height:44px;min-height:44px;max-height:44px;
 border-radius:5px;background:#fff;overflow:visible;
}
:is(.home-hero,.oc-home-cover) .wp-block-search__input{
 box-sizing:border-box;flex:1 1 0;min-width:0;width:100%;height:42px;min-height:42px;max-height:42px;margin:0;padding:8px 12px;
 border:0;border-radius:4px 0 0 4px;background:#fff!important;
 color:#081b4f!important;-webkit-text-fill-color:#081b4f!important;
 caret-color:#081b4f;font-size:16px;line-height:24px;opacity:1;
}
:is(.home-hero,.oc-home-cover) .wp-block-search__input::placeholder{
 color:#52658d!important;-webkit-text-fill-color:#52658d!important;opacity:1;
}
:is(.home-hero,.oc-home-cover) .wp-block-search__button{
 box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;
 width:44px;min-width:44px;height:42px;min-height:42px;max-height:42px;margin:0;padding:10px;white-space:nowrap;overflow:hidden;line-height:1;
 border:0;border-radius:0 4px 4px 0;background:#0065ff;color:#fff;
}
:is(.home-hero,.oc-home-cover) .wp-block-search__button svg{
 display:block;width:22px;height:22px;min-width:22px;flex:none;fill:currentColor;
}
:is(.home-hero,.oc-home-cover) .wp-block-search__button:hover{background:#004dcc}
:is(.home-hero,.oc-home-cover) :is(.wp-block-search__input,.wp-block-search__button):focus-visible{
 outline:3px solid #0065ff;outline-offset:3px;box-shadow:0 0 0 3px #fff;
}

.oc-search-form .wp-block-search__button svg{fill:none;stroke:currentColor}
