/* ==========================================================================
   OCEAN GALLERIES — WordPress template styles (archives, artwork page,
   artists index, Elementor/Hello pages living inside the new chrome).
   ========================================================================== */
/* Clearance below the floating header capsule. */
body.og-site:not(.home) .og-main,
body.og-site:not(.home) #content.site-main,
body.og-site:not(.home) > main:not(.og-main) { padding-top: calc(var(--og-header-h) + clamp(8px, 1.4vw, 16px) * 2 + 8px); }

/* Hello Elementor / Elementor pages (About, Contact, posts) inside the new header/footer */
body.og-site #content.site-main { max-width: none; }
body.og-site .site-main > .page-header { width: 100%; max-width: var(--og-max); margin-inline: auto; padding: clamp(2.5rem, 6vw, 5rem) var(--og-gutter) 1rem; }
body.og-site .site-main > .page-header .entry-title { font-family: var(--og-serif); font-weight: 300; font-size: var(--og-fs-h2); line-height: 1; letter-spacing: -.015em; margin: 0; }
body.og-site .site-main > .page-content { width: 100%; max-width: var(--og-max); margin-inline: auto; padding: 0 var(--og-gutter) var(--og-section); }
body.og-site .elementor-section.elementor-section-boxed > .elementor-container { max-width: min(var(--og-max), 100%); }

/* Breadcrumbs */
.og-crumbs ol { list-style: none; margin: 0 0 2rem; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem .7rem; font-size: .78rem; letter-spacing: .06em; }
.og-crumbs li { display: inline-flex; align-items: center; gap: .7rem; color: var(--og-stone); }
.og-crumbs li + li::before { content: "/"; opacity: .5; }
.og-crumbs a { text-decoration: none; }
.og-crumbs a:hover { text-decoration: underline; }
.og-dark .og-crumbs li { color: var(--og-on-dark-muted); }

/* Archive header */
.og-archive__head { padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2rem, 4vw, 3rem); }
.og-archive__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem var(--og-gutter); align-items: end; }
.og-archive__title { font-size: clamp(2.8rem, 1.6rem + 5.4vw, 7.5rem); margin: 1.2rem 0 .8rem; }
.og-archive__count { margin: 0; color: var(--og-stone); font-size: var(--og-fs-small); letter-spacing: .04em; }
.og-dark .og-archive__count { color: var(--og-on-dark-muted); }
.og-archive__bio { margin-top: 1.6rem; color: inherit; }
.og-dark .og-archive__bio { color: var(--og-on-dark-muted); }
.og-archive__cover { margin: 0; width: clamp(180px, 22vw, 320px); }
.og-archive__cover img { width: 100%; aspect-ratio: var(--ar); object-fit: contain; }
@media (max-width: 767px) { .og-archive__grid { grid-template-columns: 1fr; } .og-archive__cover { width: min(70vw, 300px); } }

/* Filters, chips, search */
.og-filters { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; margin-top: clamp(2rem, 4vw, 3rem); padding-top: 1.6rem; border-top: 1px solid var(--og-line); }
.og-dark .og-filters { border-color: rgba(255,255,255,.14); }
.og-filters__group { display: flex; flex-wrap: wrap; gap: .5rem; }
.og-chip { display: inline-flex; align-items: center; min-height: 40px; padding: .5rem 1rem; border: 1px solid var(--og-line); border-radius: 999px; font-size: .82rem; font-weight: 500; text-decoration: none; transition: background-color .3s, color .3s, border-color .3s; }
.og-chip:hover { border-color: currentColor; }
.og-chip[aria-current] { background: var(--og-royal); border-color: var(--og-royal); color: #fff; }
.og-dark .og-chip { border-color: rgba(255,255,255,.25); }
.og-dark .og-chip[aria-current] { background: var(--og-on-dark); color: var(--og-midnight); border-color: var(--og-on-dark); }
.og-search { display: flex; align-items: center; gap: .5rem; position: relative; flex: 1 1 280px; max-width: 460px; }
.og-search > svg { position: absolute; left: .95rem; width: 16px; height: 16px; color: var(--og-stone); pointer-events: none; }
.og-search input[type="search"] { flex: 1; min-width: 0; height: 48px; border: 1px solid var(--og-line); border-radius: 999px; padding: 0 1rem 0 2.5rem; font: 500 .92rem var(--og-sans); background: var(--og-paper); color: var(--og-charcoal); }
.og-search .og-btn { min-height: 48px; padding-inline: 1.2rem; }
.og-archive__tools { display: flex; justify-content: flex-end; margin-bottom: 2rem; }
.og-archive__tools .woocommerce-ordering { margin: 0; }
.og-archive__tools select { height: 42px; border: 1px solid var(--og-line); border-radius: 999px; padding: 0 2.2rem 0 1rem; background: var(--og-paper); font: 500 .85rem var(--og-sans); color: var(--og-charcoal); }

/* Pagination */
.og-pagination { margin-top: clamp(3rem, 6vw, 5rem); display: flex; justify-content: center; }
.og-pagination ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.og-pagination a, .og-pagination span { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 .9rem; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: .85rem; border: 1px solid var(--og-line); }
.og-pagination .current { background: var(--og-royal); color: #fff; border-color: var(--og-royal); }
.og-pagination .dots { border: 0; }
.og-pagination a:hover { border-color: var(--og-royal); color: var(--og-royal); }
.og-empty { text-align: center; padding: 4rem 0; }

/* WooCommerce loops rendered via content-product.php */
ul.products:has(> .og-loop-item) { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 3vw, 3rem); align-items: center; }
ul.products::before, ul.products::after { display: none !important; }
@media (max-width: 1023px) { ul.products:has(> .og-loop-item) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { ul.products:has(> .og-loop-item) { grid-template-columns: 1fr; } }
.og-noimage { display: grid; place-items: center; aspect-ratio: 4 / 5; background: var(--og-ivory); color: var(--og-stone); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }

/* Artwork page */
.og-artwork__entry { padding-top: clamp(2rem, 4vw, 3.5rem); }
.og-artwork__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 6rem); align-items: start; }
.og-artwork__media { position: sticky; top: calc(var(--og-header-h) + 1.5rem); }
.og-artwork__figure { margin: 0; position: relative; }
.og-artwork__figure .og-mat { --og-curtain: var(--og-ivory); }
.og-artwork__img { width: 100%; max-height: calc(100vh - var(--og-header-h) - 8rem); object-fit: contain; aspect-ratio: var(--ar); }
.og-artwork__zoom { margin-top: 1rem; display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--og-line); border-radius: 999px; background: var(--og-paper); font: 600 .8rem var(--og-sans); letter-spacing: .06em; cursor: pointer; color: var(--og-charcoal); }
.og-artwork__zoom svg { width: 16px; height: 16px; }
.og-artwork__zoom:hover { border-color: var(--og-royal); color: var(--og-royal); }
.og-artwork__thumbs { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.og-artwork__thumbs button { padding: 3px; border: 1px solid var(--og-line); background: var(--og-paper); cursor: pointer; }
.og-artwork__thumbs button[aria-pressed="true"] { border-color: var(--og-royal); box-shadow: 0 0 0 1px var(--og-royal); }
.og-artwork__thumbs img { width: 72px; height: 72px; object-fit: contain; }
.og-artwork__title { margin: 1.2rem 0 .4rem; font-size: clamp(2.6rem, 1.6rem + 3.6vw, 5rem); }
.og-artwork__sub { margin: 0 0 2rem; color: var(--og-stone); font-size: var(--og-fs-lead); }
.og-artwork__desc { margin: 0 0 2rem; }
.og-artwork__buy { margin-bottom: 2rem; padding: 1.4rem; background: var(--og-paper); }
.og-artwork__price { font-family: var(--og-serif); font-size: 2rem; margin: 0 0 1rem; }
.og-artwork__buy .single_add_to_cart_button { background: var(--og-royal); color: #fff; border: 0; border-radius: 999px; min-height: 52px; padding: .9rem 1.6rem; font: 600 .9rem var(--og-sans); cursor: pointer; }
.og-artwork__buy .quantity { display: none; } /* unique artworks: quantity is always 1 */
.og-artwork__enquire { padding: clamp(1.4rem, 3vw, 2rem); background: var(--og-paper); border-top: 2px solid var(--og-royal); }
.og-artwork__enquire-title { font-family: var(--og-serif); font-size: 1.6rem; line-height: 1.15; margin: 0 0 1.2rem; }
@media (max-width: 1023px) {
	.og-artwork__grid { grid-template-columns: 1fr; }
	.og-artwork__media { position: static; }
	.og-artwork__img { max-height: none; }
}

/* Lightbox */
.og-lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: clamp(12px, 3vw, 40px); border: 0; background: rgba(2,31,78,.96); color: #fff; }
.og-lightbox::backdrop { background: rgba(2,31,78,.9); }
.og-lightbox[open] { display: grid; place-items: center; }
.og-lightbox__img { max-width: 100%; max-height: calc(100vh - 2 * clamp(12px, 3vw, 40px)); width: auto; height: auto; object-fit: contain; background: #fff; padding: 8px; }
.og-lightbox__close { position: fixed; top: 14px; right: 14px; color: #fff; background: rgba(255,255,255,.12); }

/* Artists index page */
.og-az--page .og-az__list { columns: 3 260px; }
.og-az--page .og-az__list a { align-items: center; padding: .55rem 0; font-size: 1.3rem; justify-content: flex-start; gap: 1rem; }
.og-az--page .og-az__list small { margin-left: auto; }
.og-az__thumb { width: 56px; height: 56px; flex: none; object-fit: contain; background: var(--og-ivory); padding: 3px; }

/* Journal on the homepage when the Instagram feed is used */
.og-ig #sb_instagram { padding: 0 !important; }

/* Logged-in staff: keep the fixed header below the WordPress admin bar */
.admin-bar .og-header { top: calc(32px + 10px); }
.admin-bar .og-mega { max-height: calc(100vh - var(--og-header-h) - 32px); }
@media (max-width: 782px) { .admin-bar .og-header { top: calc(46px + 8px); } }
@media (max-width: 600px) { .admin-bar .og-header { top: 8px; } .admin-bar #wpadminbar { position: absolute; } }
.og-archive__works { padding-top: clamp(2rem, 4vw, 3.5rem); }
