.owners-wrap,
.owners-gallery {
    --owners-gold: var(--color-primary-500, #e4bc59);
    --owners-gold-dark: var(--color-primary-800, #866728);
    --owners-ink: var(--color-gray-900, #111827);
    --owners-muted: var(--color-gray-600, #4b5563);
    --owners-cream: var(--color-primary-50, #fdf9ee);
    --owners-line: var(--color-primary-200, #f4e2a8);
    color: var(--owners-ink);
    font-family: var(--font-sans, "Helvetica Neue", Arial, sans-serif);
}
.owners-wrap { max-width: 1280px; margin: 3rem auto 5rem; padding: 0 1.25rem; }
.owners-intro { margin-bottom: 4rem; }
.owners-kicker {
    margin: 0 0 .75rem;
    color: var(--owners-gold-dark);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.owners-intro > h1 {
    max-width: 1050px;
    margin: 0;
    color: var(--owners-ink);
    font-size: clamp(2.5rem, 6vw, 5.6rem);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .98;
}
.owners-lead {
    max-width: 980px;
    margin: 1.75rem 0 2.75rem;
    color: var(--owners-muted);
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    line-height: 1.55;
}
.owners-rewards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.owners-reward-card {
    min-height: 360px;
    padding: clamp(2rem, 4vw, 3.5rem);
    border: 1px solid var(--owners-line);
    border-radius: var(--radius-xl, .75rem);
    background: #fff;
}
.owners-reward-card > span,
.owners-card-badge {
    display: inline-flex;
    padding: .55rem .9rem;
    border-radius: 999px;
    background: #eee9df;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.owners-reward-card > strong { display: block; margin: 1.35rem 0; font-size: clamp(4rem, 8vw, 6.5rem); letter-spacing: -.07em; line-height: 1; }
.owners-reward-card h2 { margin: 0 0 1.25rem; font-size: clamp(1.35rem, 2.4vw, 1.8rem); font-weight: 750; }
.owners-reward-card p { max-width: 520px; margin: 0; color: var(--owners-muted); font-size: 1.08rem; line-height: 1.55; }
.owners-reward-card-dark { border-color: #24211f; background: #24211f; color: #fff; }
.owners-reward-card-dark > span { background: #403b36; }
.owners-reward-card-dark p { color: #d3cec7; }
.owners-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.owners-benefits article { padding: 1.75rem; border-radius: var(--radius-xl, .75rem); background: var(--owners-cream); }
.owners-benefits h2 { margin: 0 0 .75rem; font-size: 1.15rem; font-weight: 750; }
.owners-benefits p { margin: 0; color: var(--owners-muted); line-height: 1.55; }
.owners-fine-print { margin: 1.5rem 0 0; color: var(--owners-muted); font-size: .92rem; line-height: 1.55; }

.owners-form { display: grid; gap: 2rem; }
.owners-form-section {
    min-width: 0;
    margin: 0;
    padding: clamp(1.5rem, 4vw, 3.25rem);
    border: 1px solid var(--owners-line);
    border-radius: var(--radius-xl, .75rem);
    background: #fff;
}
.owners-form-section legend {
    float: left;
    width: 100%;
    margin: 0;
    padding: 0 0 clamp(1.5rem, 3vw, 2.5rem);
    color: var(--owners-ink);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.05;
}
.owners-form-section legend + * { clear: both; }
.owners-form-section legend span { color: var(--owners-gold-dark); }
.owners-section-lead { max-width: 800px; margin: 1rem 0 2rem; color: var(--owners-muted); font-size: 1.1rem; line-height: 1.55; }
.owners-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; }
.owners-form label { display: flex; flex-direction: column; gap: .55rem; margin: 1.15rem 0; font-weight: 700; line-height: 1.4; }
.owners-form input:not([type=checkbox]):not([type=hidden]),
.owners-form select,
.owners-form textarea {
    width: 100%;
    min-height: 58px;
    padding: .9rem 1rem;
    border: 1px solid #cfc8bc;
    border-radius: var(--radius-xl, .75rem);
    background: #fff;
    color: var(--owners-ink);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.35;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.owners-form textarea { min-height: 130px; resize: vertical; }
.owners-form input::placeholder,
.owners-form textarea::placeholder { color: #aaa69f; }
.owners-form input:focus,
.owners-form select:focus,
.owners-form textarea:focus { border-color: var(--owners-gold-dark); outline: 0; box-shadow: 0 0 0 4px rgb(228 188 89 / 22%); }
.owners-form input[type=file]:not(.owners-file-input)::file-selector-button {
    margin-right: .8rem;
    padding: .65rem .9rem;
    border: 1px solid var(--owners-gold-dark);
    border-radius: var(--radius-xl, .75rem);
    background: #fff;
    color: var(--owners-gold-dark);
    font-weight: 700;
    cursor: pointer;
}
.owners-form small,
.owners-muted { color: var(--owners-muted); font-size: .88rem; font-weight: 400; line-height: 1.45; }
.owners-question { margin: 1.5rem 0 .75rem; font-weight: 750; }
.owners-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1.5rem; }
.owners-form .owners-check {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: .7rem;
    margin: 0;
    padding: .9rem 1rem;
    border: 1px solid var(--owners-line);
    border-radius: var(--radius-xl, .75rem);
    background: #fff;
    font-weight: 500;
    cursor: pointer;
}
.owners-form .owners-check:hover { border-color: var(--owners-gold); background: var(--owners-cream); }
.owners-form .owners-check-wide { margin-top: 1rem; }
.owners-form .owners-check input[type=checkbox] {
    position: static !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 1.3rem;
    width: 1.3rem !important;
    height: 1.3rem !important;
    margin: .05rem 0 0 !important;
    padding: 0 !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    accent-color: var(--owners-gold-dark);
    cursor: pointer;
    pointer-events: auto !important;
}
.owners-discount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin: 1.5rem 0;
    padding: 1.75rem 2rem;
    border: 1px solid #e4dac8;
    border-radius: var(--radius-xl, .75rem);
    background: var(--owners-cream);
}
.owners-discount strong { font-size: 1.2rem; }
.owners-discount p { margin: .35rem 0 0; color: var(--owners-muted); }
.owners-discount > b { color: var(--owners-gold-dark); font-size: 2.5rem; line-height: 1; }
.owners-notice { margin: 1.5rem 0; padding: 1.2rem 1.4rem; border-left: 5px solid var(--owners-gold); border-radius: var(--radius-xl, .75rem); background: var(--owners-cream); line-height: 1.55; }
.owners-notice p { margin: .5rem 0 0; }

.owners-upload { margin: 1.25rem 0 1.75rem; }
.owners-upload-drop { position: relative; align-items: center; justify-content: center; min-height: 190px; padding: 2rem !important; border: 1.5px dashed #b8ae9f !important; border-radius: var(--radius-xl, .75rem) !important; background: var(--owners-cream) !important; text-align: center; cursor: pointer; }
.owners-upload-drop:hover { border-color: var(--owners-gold-dark) !important; }
.owners-upload-drop:focus-within { border-color: var(--owners-gold-dark) !important; box-shadow: 0 0 0 4px rgb(228 188 89 / 22%); }
.owners-file-input { position: absolute; inset: 0; width: 100% !important; height: 100%; min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: var(--radius-xl, .75rem); opacity: 0; cursor: pointer; }
.owners-upload-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--owners-ink); color: #fff; font-size: 1.8rem; font-weight: 400; }
.owners-upload-drop > strong { font-size: 1.15rem; }
.owners-upload-drop > span:last-child { color: var(--owners-muted); font-size: .9rem; font-weight: 400; }
.owners-photo-preview,
.owners-existing { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; margin: 1rem 0; }
.owners-photo-item,
.owners-existing-item { position: relative; overflow: hidden; min-width: 0; border: 1px solid var(--owners-line); border-radius: var(--radius-xl, .75rem); background: #fff; }
.owners-photo-item img,
.owners-existing-photo { display: block; width: 100%; height: 150px; object-fit: cover; }
.owners-photo-item span { display: block; overflow: hidden; padding: .65rem; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.owners-photo-item button { position: absolute; top: .45rem; right: .45rem; display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 50%; background: rgb(23 22 20 / 88%); color: #fff; font-size: 1.35rem; line-height: 1; cursor: pointer; }
.owners-existing-item .owners-check { margin: .5rem; padding: .55rem; }
.owners-upload-error { margin: .5rem 0; color: #b42318; font-weight: 700; }
.owners-upload-error:empty { display: none; }

.owners-submit { display: flex; align-items: center; gap: 1.25rem; }
.owners-button { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 1rem 2rem; border: 0; border-radius: var(--radius-sm, .125rem); background: var(--owners-gold); color: #171614 !important; font-weight: 500; font-size: 1rem; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 10%); text-decoration: none; text-transform: uppercase; cursor: pointer; transition: transform .18s ease, background .18s ease; }
.owners-button:hover { background: var(--color-primary-lighter, #e4bc59); box-shadow: 0 10px 15px -3px rgb(0 0 0 / 15%); }
.owners-button:focus-visible { outline: 3px solid rgb(228 188 89 / 45%); outline-offset: 3px; }
.owners-wrap a:not(.owners-button),
.owners-gallery a:not(.owners-button) { color: var(--owners-gold-dark); text-decoration: underline; text-underline-offset: 3px; }
.owners-form [hidden] { display: none !important; }
.owners-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.owners-gallery { width: 100%; max-width: 1280px; box-sizing: border-box; margin: 3rem auto; padding: 0 1.25rem; }
.owners-gallery-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1rem; }
.owners-gallery-heading h2 { margin: 0; color: var(--owners-ink); font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 800; letter-spacing: -.04em; }
.owners-gallery-heading > strong { flex: none; padding: .75rem 1rem; border-radius: 999px; background: var(--owners-cream); }
.owners-filter-group { margin: 1.4rem 0; }
.owners-filter-group > span { display: block; margin-bottom: .55rem; font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.owners-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 0; }
.owners-filters a { padding: .65rem .95rem; border: 1px solid var(--owners-line); border-radius: 999px; background: #fff; color: var(--owners-ink) !important; font-weight: 650; text-decoration: none !important; }
.owners-filters a:hover,
.owners-filters a[aria-current] { border-color: var(--owners-ink); background: var(--owners-ink); color: #fff !important; }
.owners-filters strong { margin-left: .35rem; }
.owners-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.owners-card { overflow: hidden; border: 1px solid var(--owners-line); border-radius: var(--radius-xl, .75rem); background: #fff; }
.owners-card > a:first-child img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.owners-card-body { padding: 1.35rem; overflow-wrap: anywhere; }
.owners-card h3 { margin: .8rem 0 .6rem; color: var(--owners-ink); font-size: 1.35rem; font-weight: 750; }
.owners-card p { margin: .7rem 0; line-height: 1.55; }
.owners-card details { border-top: 1px solid var(--owners-line); }
.owners-card details summary { padding: .75rem 1rem; color: var(--owners-gold-dark); font-weight: 700; cursor: pointer; }
.owners-card details img { display: block; width: 100%; height: auto; }
.owners-card-badge { padding: .4rem .7rem; font-size: .68rem; }
.owners-signature { color: #4b4741; font-weight: 700; }
.owners-signature a { margin-left: .35rem; }
.owners-pagination { justify-content: center; margin-top: 2rem; }
.owners-embedded[aria-busy=true] { opacity: .65; }
.article-detail-content .owners-gallery h2 { margin: 0; }
.article-detail-content .owners-gallery p { margin: .7rem 0; }

@media (max-width: 900px) {
    .owners-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .owners-photo-preview, .owners-existing { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .owners-wrap { margin-top: 1.75rem; padding: 0 .75rem; }
    .owners-intro { margin-bottom: 2.5rem; }
    .owners-rewards, .owners-benefits, .owners-fields, .owners-options, .owners-cards { grid-template-columns: 1fr; }
    .owners-reward-card { min-height: 0; border-radius: var(--radius-xl, .75rem); }
    .owners-form-section { padding: 1.35rem; border-radius: var(--radius-xl, .75rem); }
    .owners-photo-preview, .owners-existing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .owners-discount, .owners-gallery-heading { align-items: flex-start; flex-direction: column; }
    .owners-submit { align-items: stretch; flex-direction: column; }
    .owners-button { width: 100%; }
}

/* MyBorniak CMS gallery: gold controls and restrained cards match the storefront. */
.owners-cms-gallery { width: 100%; clear: both; }
.owners-gallery-stories .owners-gallery-heading { align-items: center; }
.owners-gallery-stories .owners-gallery-heading .owners-button { flex-shrink: 0; }
.owners-gallery-stories h2 { font-size: clamp(1.8rem, 3vw, 3rem); color: #111827; }
.owners-gallery-stories .owners-gallery-heading p:not(.owners-kicker) { color: #536076; }
.owners-gallery-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin: 2rem 0 1rem; }
.owners-gallery-toolbar form, .owners-gallery-toolbar label { display: flex; align-items: center; gap: .65rem; margin: 0; }
.owners-gallery-toolbar select { padding: .5rem 2rem .5rem .65rem; border: 1px solid #cbd2dd; border-radius: var(--radius-xl, .75rem); background-color: #fff; color: #273246; }
.owners-gallery-toolbar button { padding: .55rem .75rem; border: 1px solid var(--owners-gold); border-radius: var(--radius-xl, .75rem); background: #fff; }
.owners-gallery-stories .owners-filters a { border-color: var(--owners-gold); border-radius: var(--radius-xl, .75rem); color: var(--owners-gold-dark) !important; }
.owners-gallery-stories .owners-filters a[aria-current], .owners-gallery-stories .owners-filters a:hover { background: var(--owners-gold); color: #111827 !important; }
.owners-usage-filters { margin: 0; }
.owners-gallery-stories .owners-card { display: flex; flex-direction: column; border-color: var(--owners-line); border-radius: var(--radius-xl, .75rem); background: var(--owners-cream); }
.owners-card-cover { position: relative; }
.owners-card-cover img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.owners-photo-badges { position: absolute; inset: 12px 12px auto; display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none; }
.owners-photo-badges span { padding: .45rem .65rem; border-radius: 999px; background: #17202dec; color: #fff; font-size: .78rem; font-weight: 700; }
.owners-photo-badges .owners-verified { background: #32815c; }
.owners-gallery-stories .owners-card-body { display: flex; flex-direction: column; flex: 1; }
.owners-card-title { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.owners-card-title h3 { margin: 0; }
.owners-card-title > span { flex-shrink: 0; padding: .4rem .65rem; border-radius: 999px; background: #fff0be; color: #80601d; font-size: .86rem; font-weight: 700; }
.owners-food-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0; }
.owners-food-tags span { padding: .35rem .65rem; border-radius: 999px; background: #f0f2f5; color: #536076; font-size: .8rem; }
.owners-story-text { color: #37455c; }
.owners-card-footer { margin-top: auto; padding-top: 1rem; border-top: 1px solid #ecdbab; }
.owners-card-footer .owners-signature a { display: block; margin: .25rem 0 0; font-size: .85rem; font-weight: 400; }
@media(max-width:700px) { .owners-gallery-toolbar form { flex-wrap: wrap; } .owners-gallery-stories .owners-gallery-heading { align-items: stretch; } }

/* Shared storefront sizing and story dialog. */
.owners-wrap { box-sizing: border-box; }
.owners-cms-gallery { max-width: 1280px; margin-inline: auto; }
.owners-gallery-toolbar { justify-content: flex-start; gap: .75rem; }
.owners-gallery-toolbar .owners-filters { gap: .4rem; }
.owners-gallery-toolbar .owners-filters a { padding: .65rem .7rem; font-size: .875rem; white-space: nowrap; border-radius: var(--radius-sm, .125rem); }
.owners-gallery-toolbar form { margin-left: auto; font-size: .875rem; }
.owners-gallery-toolbar button { border-radius: var(--radius-sm, .125rem); cursor: pointer; }
.owners-story-excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3.1em; }
.owners-card-footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.owners-story-open { color: var(--owners-gold-dark); font-weight: 700; cursor: pointer; text-align: right; }
.owners-story-open:focus-visible, .owners-modal-close:focus-visible { outline: 2px solid var(--owners-gold-dark); outline-offset: 4px; }
.owners-story-modal { position: fixed; inset: 0; width: min(1000px, calc(100vw - 2rem)); max-width: none; max-height: calc(100vh - 2rem); max-height: calc(100dvh - 2rem); margin: auto; padding: 0; border: 0; border-radius: var(--radius-xl, .75rem); background: #fff; color: var(--owners-ink); overflow-y: auto; overscroll-behavior: contain; box-shadow: 0 24px 64px rgb(0 0 0 / 30%); }
.owners-story-modal::backdrop { background: rgb(17 24 39 / 70%); backdrop-filter: blur(4px); }
.owners-modal-close { position: sticky; top: 1rem; float: right; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; margin: 1rem 1rem -60px 0; border: 1px solid var(--owners-line); border-radius: var(--radius-xl, .75rem); background: #fff; color: var(--owners-ink); font-size: 1.75rem; cursor: pointer; }
.owners-modal-hero { display: block; width: 100%; height: auto; max-height: 480px; object-fit: contain; background: #f3f4f6; }
.owners-modal-body { padding: clamp(1.25rem, 4vw, 3rem); overflow-wrap: anywhere; }
.owners-modal-body h2 { margin: 0 0 1rem; line-height: 1.15; }
.owners-modal-body h3 { margin: 1.75rem 0 1rem; }
.owners-modal-description { margin: 1.75rem 0; padding: 1.5rem; border-left: 4px solid var(--owners-gold); border-radius: var(--radius-xl, .75rem); background: var(--owners-cream); line-height: 1.65; }
.owners-modal-facts, .owners-modal-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.owners-modal-facts > div { padding: 1.25rem; border-radius: var(--radius-xl, .75rem); background: #f3f4f6; }
.owners-modal-facts dt { margin-bottom: .5rem; color: var(--owners-muted); }
.owners-modal-facts dd { margin: 0; font-weight: 700; }
.owners-modal-photos img { width: 100%; height: auto; border-radius: var(--radius-xl, .75rem); }
@media (max-width: 700px) {
    .owners-gallery { padding-inline: .75rem; }
    .owners-gallery-toolbar form { margin-left: 0; }
    .owners-modal-facts, .owners-modal-photos { grid-template-columns: 1fr; }
}
