/*
Theme Name: ORS Heritage 2026
Theme URI: https://orientalrugservices.com/
Author: Oriental Rug Services Ltd
Description: Lightweight, accessible editorial theme for Oriental Rug Services Ltd. No page builder or external fonts. Stage and review before launch.
Version: 0.1.0
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: ors-heritage
License: GPL-2.0-or-later
*/
:root {
  /* Provisional tokens: must be reconciled with ORIGINAL live ORS branding before launch. */
  --ors-bg: #fcfbf8;
  --ors-paper: #ffffff;
  --ors-ink: #26282a;
  --ors-muted: #5d6264;
  --ors-line: #dededb;
  --ors-accent: #345b70;
  --ors-accent-hover: #294759;
  --ors-subtle: #f1f2f0;
  --ors-focus: #275d94;
  --ors-max: 1140px;
  --ors-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ors-heading: Georgia, 'Times New Roman', serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ors-ink); background: var(--ors-bg); font: 1rem/1.7 var(--ors-font); -webkit-font-smoothing: antialiased; }
img, video, svg { max-width: 100%; height: auto; }
a { color: var(--ors-accent); text-underline-offset: .18em; }
a:hover { color: var(--ors-accent-hover); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid var(--ors-focus); outline-offset: 3px; }
h1, h2, h3, h4 { font-family: var(--ors-heading); font-weight: 400; line-height: 1.2; letter-spacing: -.014em; }
h1 { font-size: clamp(2.15rem, 4.4vw, 4rem); margin: 0 0 .6em; }
h2 { font-size: clamp(1.65rem, 2.7vw, 2.45rem); margin: 0 0 .55em; }
h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); margin: 0 0 .45em; }
p { margin: 0 0 1.25em; } ul { padding-left: 1.3em; }
.or-container { width: min(var(--ors-max), calc(100% - 3rem)); margin-inline: auto; }
.or-narrow { max-width: 790px; }
.or-section { padding-block: clamp(3.25rem, 7vw, 6rem); }
.or-section--muted { background: var(--ors-subtle); }
.or-eyebrow { display: inline-block; margin: 0 0 1rem; color: var(--ors-accent); font: 600 .73rem/1.3 var(--ors-font); text-transform: uppercase; letter-spacing: .14em; }
.or-lede { font-size: clamp(1.1rem, 1.75vw, 1.36rem); color: var(--ors-muted); line-height: 1.65; max-width: 730px; }
.or-note { font-size: .93rem; color: var(--ors-muted); }
.or-link { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; text-decoration-thickness: 1px; }
.or-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .7rem 1.2rem; color: #fff; background: var(--ors-accent); border: 1px solid var(--ors-accent); border-radius: 2px; font-weight: 600; font-size: .95rem; text-decoration: none; line-height: 1.35; cursor: pointer; transition: background-color .12s ease; }
.or-button:hover { color: #fff; background: var(--ors-accent-hover); }
.or-button--plain { color: var(--ors-accent); background: transparent; }
.or-button--plain:hover { color: var(--ors-accent-hover); background: var(--ors-subtle); }
.or-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.7rem; }
.or-skip { position:absolute; top:-100px; left:1rem; z-index:1000; padding:.5rem 1rem; background:#fff; }
.or-skip:focus { top: 1rem; }
.or-header { background: var(--ors-paper); border-bottom: 1px solid var(--ors-line); position: relative; z-index:20; }
.or-header__inner { display:flex; align-items:center; justify-content:space-between; gap:2.5rem; min-height:95px; }
.or-brand { display:flex; gap:1rem; align-items:center; text-decoration:none; color:var(--ors-ink); }
.or-brand:hover { color:var(--ors-ink); }
.or-brand__text { display:block; font-family:var(--ors-heading); font-size:clamp(1.24rem, 1.6vw, 1.65rem); line-height:1.15; }
.or-brand__strap { display:block; font-size:.68rem; color:var(--ors-muted); text-transform:uppercase; letter-spacing:.16em; margin-top:.5rem; }
.or-brand .custom-logo { max-height:80px; width:auto; }
.or-nav-list { display:flex; gap:clamp(.75rem,1.8vw,1.8rem); align-items:center; list-style:none; padding:0; margin:0; }
.or-nav-list a { font-size:.87rem; font-weight:560; color:var(--ors-ink); text-decoration:none; white-space:nowrap; }
.or-nav-list a:hover, .or-nav-list .current-menu-item > a, .or-nav-list .current_page_item > a { color:var(--ors-accent); text-decoration: underline; text-decoration-thickness: 1px; }
.or-menu-toggle { display:none; border:1px solid var(--ors-line); background:#fff; font:600 .9rem var(--ors-font); border-radius:2px; padding:.55rem .8rem; }
.or-hero { background:var(--ors-paper); border-bottom: 1px solid var(--ors-line); }
.or-hero__inner { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(2rem, 6vw, 6rem); align-items:center; min-height:520px; padding-block:clamp(3.5rem, 7vw, 6.5rem); }
.or-hero__content { max-width:670px; }
.or-hero h1 { max-width:670px; }
.or-hero__visual { border-left:1px solid var(--ors-line); padding-left:clamp(2rem, 4vw, 4rem); }
.or-hero__visual figure { margin:0; }
.or-hero__visual img { display:block; width:100%; object-fit:cover; aspect-ratio:4 / 5; }
.or-hero__visual figcaption { padding-top:.75rem; color:var(--ors-muted); font-size:.8rem; }
.or-hero__fallback { min-height:280px; display:flex; align-items:center; padding:2rem 0; }
.or-hero__fallback p { font:italic clamp(1.25rem, 2vw, 1.6rem)/1.5 var(--ors-heading); color:var(--ors-muted); }
.or-reviews { background: #f5f6f4; border-bottom: 1px solid var(--ors-line); }
.or-reviews__intro { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.8rem; }
.or-reviews__intro h2 { margin-bottom:.2rem; }
.or-review-embed { margin-top:1rem; }
.or-review-empty { padding:1.1rem 1.3rem; background:var(--ors-paper); border-left:3px solid var(--ors-accent); max-width:740px; }
.or-review-empty p { margin-bottom:.2rem; }
.or-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.or-card { background:var(--ors-paper); border:1px solid var(--ors-line); padding:clamp(1.5rem, 2.5vw, 2.1rem); }
.or-card h3 { margin-top:.2rem; }
.or-card p { color:var(--ors-muted); }
.or-card__link { display:block; margin-top:1.2rem; font-weight:600; }
.or-split { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2rem, 7vw, 6rem); }
.or-rule { border:0; border-top:1px solid var(--ors-line); margin:2.2rem 0; }
.or-page-head { padding-block:3.6rem 2.5rem; border-bottom:1px solid var(--ors-line); background:var(--ors-paper); }
.or-page-head h1 { max-width:850px; }
.or-page-body { padding-block:3.5rem 5rem; }
.or-page-body > * { max-width:800px; }
.or-page-body img, .or-entry img { height:auto; }
.or-page-body .alignwide { max-width:var(--ors-max); }
.or-page-body .alignfull { max-width:none; width:100%; }
.or-page-body h2, .or-entry h2 { margin-top:1.8em; }
.or-page-body h3, .or-entry h3 { margin-top:1.5em; }
.or-page-body blockquote, .or-entry blockquote { padding-left:1.5rem; border-left:2px solid var(--ors-accent); margin:2rem 0; font:italic 1.22rem/1.6 var(--ors-heading); }
.or-post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:2rem; }
.or-post { background:var(--ors-paper); border:1px solid var(--ors-line); padding:2rem; }
.or-post img { aspect-ratio:16/10; width:100%; object-fit:cover; margin-bottom:1rem; }
.or-post h2 { font-size:1.6rem; margin:0 0 .6rem; }
.or-post h2 a { color:var(--ors-ink); text-decoration:none; }
.or-post h2 a:hover { color:var(--ors-accent); text-decoration:underline; }
.or-post__meta { font-size:.8rem; color:var(--ors-muted); margin-bottom:.7rem; }
.or-pagination { margin-top:2.2rem; }
.or-entry { padding-block:3.5rem 5rem; max-width:820px; }
.or-entry__head { border-bottom:1px solid var(--ors-line); margin-bottom:2.4rem; padding-bottom:1.5rem; }
.or-entry__head h1 { max-width:800px; }
.or-entry__body { line-height:1.83; }
.or-contact-strip { border-top:1px solid var(--ors-line); background:var(--ors-paper); }
.or-contact-strip__inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2rem; }
.or-contact-strip p { max-width:600px; }
.or-footer { background:#f1f2f0; border-top:1px solid var(--ors-line); color:var(--ors-muted); font-size:.86rem; }
.or-footer__inner { display:grid; grid-template-columns:2fr 1fr 1fr; gap:2.4rem; padding-block:3rem; }
.or-footer h2 { font:600 .9rem var(--ors-font); color:var(--ors-ink); }
.or-footer a { color:var(--ors-ink); }
.or-footer ul { padding:0; list-style:none; }
.or-footer li { margin:.35rem 0; }
.or-footer__bottom { border-top:1px solid var(--ors-line); padding:1rem 0; }
.or-footer__bottom p { margin:0; }
.screen-reader-text { clip-path:inset(50%); width:1px; height:1px; overflow:hidden; white-space:nowrap; position:absolute; }
.screen-reader-text:focus { clip-path:none; width:auto; height:auto; z-index:100; padding:.7rem; background:white; }
@media (max-width:920px) {
  .or-menu-toggle { display:block; }
  .or-header__inner { flex-wrap:wrap; min-height:80px; }
  .or-nav { display:none; width:100%; order:3; padding-bottom:1.3rem; }
  .or-nav.is-open { display:block; }
  .or-nav-list { flex-direction:column; align-items:flex-start; gap:.35rem; }
  .or-nav-list li { width:100%; border-bottom:1px solid var(--ors-line); }
  .or-nav-list a { display:block; padding:.75rem 0; white-space:normal; }
  .or-hero__inner { grid-template-columns:1fr; min-height:0; }
  .or-hero__visual { border-left:0; padding-left:0; border-top:1px solid var(--ors-line); padding-top:1.5rem; }
  .or-hero__fallback { min-height:0; padding:0; }
  .or-grid { grid-template-columns:1fr; }
  .or-split { grid-template-columns:1fr; gap:1rem; }
  .or-post-grid { grid-template-columns:1fr; }
}
@media (max-width:650px) {
  .or-container { width:min(var(--ors-max),calc(100% - 2rem)); }
  .or-footer__inner { grid-template-columns:1fr; gap:1rem; }
  .or-reviews__intro { display:block; }
  .or-header .custom-logo { max-height:62px; }
  .or-page-head { padding-block:2.5rem 1.7rem; }
  .or-actions { flex-direction:column; align-items:stretch; }
  .or-actions .or-button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} *,*::before,*::after {transition-duration:.01ms !important;animation-duration:.01ms !important;} }
/* Minimal styling for an approved, externally managed WordPress contact form. */
.or-form { margin-top:2rem; padding-top:1.8rem; border-top:1px solid var(--ors-line); }
.or-form label { display:block; margin:.65rem 0 .3rem; font-weight:600; }
.or-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.or-form textarea, .or-form select {
 display:block; width:100%; max-width:720px; min-height:44px; border:1px solid #888e90;
 background:#fff; color:var(--ors-ink); border-radius:2px; font:inherit; padding:.55rem .7rem;
}
.or-form textarea { min-height:140px; }
.or-form button, .or-form input[type="submit"] { background:var(--ors-accent); color:#fff; border:0; border-radius:2px; padding:.75rem 1.1rem; font:600 .95rem var(--ors-font); cursor:pointer; }
.or-page-body .wp-block-image, .or-entry .wp-block-image { margin:1.8rem 0; }
.or-page-body figcaption, .or-entry figcaption { color:var(--ors-muted); font-size:.85rem; }
