/* One presentation stylesheet. No legacy CSS or per-block positioning. */
:root { --trc-paper:#e4dfd5; --trc-ink:#302f31; --trc-bronze:#765436; }
html { scroll-behavior:auto; }
body { margin:0; background:var(--trc-paper); color:var(--trc-ink); }
img,video { max-width:100%; }
a:focus-visible,button:focus-visible { outline:3px solid #365d70; outline-offset:4px; }
.wp-site-blocks { padding:0; }
.trc-header { position:relative; padding:20px 24px; box-sizing:border-box; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; }
.trc-promotion { grid-column:2; grid-row:1; text-align:center; font-family:Georgia,serif; color:var(--trc-ink); }
.trc-promotion p { margin:0; font-size:clamp(.8rem,1.1vw,1.1rem); line-height:1.4; font-weight:bold; }
.trc-promotion .trc-offer { margin-bottom:6px; font-size:clamp(1.05rem,1.75vw,2rem); }
.trc-navigation-wrap { grid-column:1; grid-row:1; margin:0; }
.trc-navigation { display:flex; gap:8px; flex-wrap:wrap; }
.trc-navigation a { display:block; width:68px; height:68px; border-radius:3px; }
.trc-navigation img { display:block; width:100%; height:100%; object-fit:contain; }
.trc-tools { grid-column:3; grid-row:1; margin:0; gap:12px; color:var(--trc-ink); }
.trc-navigation a { transition:transform .18s ease,filter .18s ease; }
@media(hover:hover) { .trc-navigation a:hover { transform:translateY(-2px); filter:drop-shadow(0 0 4px #7197aa); } }
.trc-home,.trc-scene,.trc-artwork { margin:0; }
.trc-scene { position:relative; width:min(100%,calc(100svh * 2560 / 1441)); margin-inline:auto; }
body.admin-bar .trc-scene { width:min(100%,calc((100svh - 32px) * 2560 / 1441)); }
.trc-artwork img { display:block; width:100%; height:auto; }
.trc-scene .trc-scene-header { position:absolute; inset:0 0 auto; z-index:2; margin:0; }
.trc-scene .trc-header { display:block; padding:14px 24px; min-height:110px; }
.trc-scene .trc-promotion { margin-inline:100px; }
.trc-scene .trc-navigation-wrap { position:absolute; left:24px; top:24px; }
.trc-scene .trc-navigation { flex-direction:column; flex-wrap:nowrap; }
.trc-scene .trc-tools { position:absolute; right:20px; top:20px; }
.trc-introduction { padding:28px 24px; margin:0; }
.trc-introduction p { max-width:650px; margin:0 auto; font-family:Georgia,serif; font-size:clamp(1rem,1.2vw,1.25rem); line-height:1.6; }
.trc-footer { border-top:1px solid #c3b9a9; padding:20px 24px; margin:0; font-size:1rem; }
.trc-footer p { margin:0; }
.trc-content { padding:32px 24px; }
/* WooCommerce owns its store templates and functional controls. */
body.woocommerce .wp-site-blocks > main { padding:32px 24px; }
@media(max-width:1100px) {
 .trc-header { grid-template-columns:1fr auto; }
 .trc-promotion { grid-column:1 / -1; grid-row:1; }
 .trc-navigation-wrap { grid-column:1; grid-row:2; }
 .trc-tools { grid-column:2; grid-row:2; }
}
@media(max-width:782px) {
 .trc-header, .trc-scene .trc-header { display:flex; flex-direction:column; align-items:center; padding:16px; gap:12px; }
 .trc-navigation { gap:6px; }
 .trc-navigation a { width:54px; height:54px; }
 .trc-tools { grid-column:1 / -1; grid-row:3; justify-content:center; }
 .trc-scene,body.admin-bar .trc-scene { width:100%; }
 .trc-scene .trc-scene-header { position:relative; }
 .trc-scene .trc-header { min-height:0; }
 .trc-scene .trc-navigation-wrap { position:static; }
 .trc-scene .trc-promotion { margin:0; }
 .trc-scene .trc-navigation { position:static; flex-direction:row; flex-wrap:wrap; }
 .trc-scene .trc-tools { position:static; inset:auto; }
 .trc-header .trc-tools { display:flex; justify-content:center; align-items:center; align-self:center; width:auto; margin:0; gap:12px; }
 .trc-navigation { justify-content:center; }
 .trc-promotion .trc-offer { font-size:clamp(1rem,3.5vw,1.5rem); }
}
@media(max-height:620px) and (min-width:783px) {
 .trc-scene,body.admin-bar .trc-scene { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .trc-navigation a { transition:none; } }

/* Explicit component spacing keeps WordPress block gaps out of the header. */
.trc-header > *, .trc-promotion > *, .trc-scene > * { margin-block-start:0; margin-block-end:0; }
.trc-scene .trc-scene-header { width:100%; }
.trc-tools > * { margin-block:0; }

/* Homepage fits the desktop viewport; content stays reachable on smaller screens. */
@media (min-width:783px) and (min-height:621px) {
 .trc-home { min-height:100svh; display:flex; align-items:center; justify-content:center; }
 body.admin-bar .trc-home { min-height:calc(100svh - 32px); }
 .trc-home .trc-scene { width:min(100%,calc(100svh * 2560 / 1441)); }
 body.admin-bar .trc-home .trc-scene { width:min(100%,calc((100svh - 32px) * 2560 / 1441)); }
 .trc-home .trc-introduction { position:absolute; left:3%; bottom:3%; width:clamp(220px,25vw,360px); max-width:34%; box-sizing:border-box; padding:12px 14px; border:1px solid #a99a85; border-radius:6px; background:rgba(228,223,213,.88); box-shadow:0 5px 14px rgba(40,32,24,.3); }
 .trc-home .trc-introduction p { font-size:clamp(.875rem,1vw,1.125rem); line-height:1.4; }
}

/* Stone navigation uses vector symbols and live, readable labels. */
.trc-navigation a { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; box-sizing:border-box; color:#4c463f; text-decoration:none; background:linear-gradient(135deg,#ddd7cc,#b8b0a2 60%,#d0c8b9); border:1px solid #8b8274; border-radius:5px 3px 6px 2px; box-shadow:inset 1px 1px 1px #f5f0e5,inset -2px -2px 2px #8f877a,0 2px 3px #0003; transition:box-shadow .2s ease,color .2s ease; }
.trc-navigation a::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 46%,#625b5055 47%,transparent 49%) 0 0 / 21% 48% no-repeat,linear-gradient(35deg,transparent 47%,#625b5055 49%,transparent 51%) 100% 100% / 26% 34% no-repeat; }
.trc-stone-symbol { display:block; width:43px; height:43px; }
.trc-stone-symbol svg { display:block; width:100%; height:100%; filter:drop-shadow(0 1px 0 #eee7d6); }
.trc-nav-label { font:700 9px/1.2 Georgia,serif; text-transform:uppercase; letter-spacing:.15px; }
@media(hover:hover) { .trc-navigation a:hover { transform:none; filter:none; color:#352d25; box-shadow:inset 1px 1px 1px #fff3dc,inset -2px -2px 2px #8f877a,0 0 9px 2px #edc58b66; } }
.trc-store-door { position:absolute; z-index:3; left:72%; top:26%; width:21%; height:48%; display:flex; align-items:flex-end; justify-content:center; text-decoration:none; border-radius:45% 45% 0 0; }
.trc-store-door span { padding:5px 12px; border:1px solid #aa9475; border-radius:3px; color:#392e23; background:rgba(232,222,203,.93); font:600 clamp(.8rem,1.05vw,1.1rem)/1.4 Georgia,serif; box-shadow:0 1px 4px #0003; }
.trc-store-door:hover span,.trc-store-door:focus-visible span { box-shadow:0 0 10px #efc78999; }
@media(max-width:782px) {
 .trc-stone-symbol { width:32px; height:32px; }
 .trc-nav-label { font-size:7px; }
 .trc-store-door { top:auto; bottom:0; left:0; width:100%; height:auto; position:relative; border-radius:0; padding:12px 0 0; }
 .trc-store-door span { font-size:1rem; }
}
