/* Sonoran Art Commerce 1.1.0 */
.sac-artwork-layout,.sac-store{font-family:inherit;color:inherit}.sac-artwork-layout *,.sac-store *{box-sizing:border-box}
.sac-artwork-layout{display:flex;gap:clamp(30px,5vw,90px);align-items:flex-start;width:100%;margin:20px auto 60px}
.sac-artwork-info{flex:0 0 calc(60% - clamp(30px,5vw,90px)*.6);min-width:0}.sac-artwork-gallery{flex:1;min-width:0;position:sticky;top:30px}
.sac-artwork-meta{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:#927657;margin:0 0 16px}.sac-artwork-meta a{color:inherit;text-decoration:none}.sac-artwork-meta a:hover{text-decoration:underline}
.sac-artwork-title{font-size:clamp(32px,3.2vw,56px);line-height:1.12;margin:0 0 20px;font-weight:500;letter-spacing:-.035em}
.sac-product{max-width:100%;margin:0 0 35px}.sac-total{font-size:clamp(26px,2.3vw,36px);font-weight:500;margin:0 0 24px;line-height:1.2}
.sac-editions{border:0;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}.sac-editions legend,.sac-field{font-size:14px;font-weight:500}.sac-editions legend{margin-bottom:10px}.sac-editions label{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:14px}.sac-editions input{accent-color:#9a7655}
.sac-field{display:block;margin:0 0 18px}.sac-field select{display:block;width:100%;max-width:100%;border:1px solid #d8d1c9;border-radius:5px;padding:14px 16px;margin:9px 0 0;background:#fff;color:#262626;font-size:15px;min-height:52px}
.sac-add-cart{width:100%;background:#242424!important;color:#fff!important;border:0!important;border-radius:4px;padding:17px 20px!important;font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.sac-add-cart:hover{background:#775e47!important}.sac-add-cart:disabled{opacity:.5;cursor:not-allowed}.sac-added{color:#277343;font-weight:500}
.sac-artwork-description h2{font-size:20px;margin:0 0 14px}
.sac-featured-image{display:block;position:relative;overflow:hidden;background:#f4f1ed;cursor:zoom-in;border-radius:3px}.sac-featured-image img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain}.sac-zoom-hint{position:absolute;right:12px;bottom:12px;background:rgba(20,20,20,.77);color:white;padding:8px 12px;border-radius:3px;font-size:11px;letter-spacing:.04em}
.sac-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.sac-thumb{padding:0;border:2px solid transparent;background:transparent;cursor:pointer;aspect-ratio:1}.sac-thumb.is-active{border-color:#95765b}.sac-thumb img{width:100%;height:100%;object-fit:cover;display:block}.sac-no-photo{padding:100px 20px;text-align:center;background:#f5f2ed}
.sac-lightbox-open{overflow:hidden}.sac-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;padding:45px 70px}.sac-lightbox img{max-width:100%;max-height:100%;object-fit:contain}.sac-lightbox button{position:absolute;background:rgba(255,255,255,.13);border:0;color:#fff;border-radius:50%;cursor:pointer;width:44px;height:44px;font-size:30px;line-height:1}.sac-lightbox-close{top:15px;right:20px}.sac-lightbox-prev{left:15px;top:50%}.sac-lightbox-next{right:15px;top:50%}.sac-lightbox-count{position:absolute;bottom:12px;color:white;font-size:13px}
.sac-store{display:grid;grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:clamp(24px,4vw,65px);margin:20px auto 60px}.sac-filters{border-right:1px solid #e8e2dc;padding-right:25px}.sac-filter-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.sac-filter-header h3{font-size:19px;margin:0}.sac-clear{border:0;background:none;text-decoration:underline;color:#80664e;cursor:pointer;font-size:12px}.sac-filter-block{border-bottom:1px solid #e8e2dc;padding:17px 0}.sac-filter-block>label{display:block;font-size:13px;font-weight:500;margin-bottom:12px}.sac-filter-block select{width:100%;padding:11px 12px;border:1px solid #ded7d0;border-radius:4px;background:white;color:#242424;font-size:14px;min-height:43px}.sac-price-readout{display:block;margin-top:8px;font-weight:400;color:#776b62}.sac-range{display:grid;gap:8px}.sac-range input{width:100%;accent-color:#9b7857}.sac-shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;border-bottom:1px solid #e8e2dc;padding-bottom:18px}.sac-shop-toolbar>span{font-size:18px;font-weight:500}.sac-shop-toolbar label{font-size:13px;white-space:nowrap}.sac-sort{margin-left:8px;padding:9px;border:1px solid #ddd;border-radius:4px;background:white}.sac-results-heading{font-size:13px;color:#82766d;margin:0 0 20px}.sac-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 20px}.sac-tile{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none;min-width:0}.sac-tile-photo{display:block;aspect-ratio:4/5;background:#f5f1ed;overflow:hidden}.sac-tile-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.sac-tile:hover img{transform:scale(1.035)}.sac-tile-artist{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#94765b;margin-top:7px}.sac-tile strong{font-size:16px;font-weight:500;line-height:1.3}.sac-tile-price{font-size:14px;color:#6e6257}.sac-results.is-loading{opacity:.5;pointer-events:none}.sac-mobile-filters{display:none}
.sac-cart-item{padding:14px 0;border-bottom:1px solid #ddd}.sac-cart-item small{display:block}
@media(max-width:1000px){.sac-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sac-store{grid-template-columns:210px minmax(0,1fr);gap:25px}.sac-artwork-layout{gap:28px}}
@media(max-width:767px){.sac-artwork-layout{flex-direction:column-reverse;gap:28px}.sac-artwork-info,.sac-artwork-gallery{flex:0 0 auto;width:100%;position:static}.sac-featured-image img{max-height:520px}.sac-store{display:block}.sac-mobile-filters{display:block;width:100%;padding:13px 16px;background:#242424;color:#fff;border:0;border-radius:4px;margin-bottom:18px}.sac-filters{display:none;border:1px solid #eee;padding:18px;margin-bottom:22px}.sac-store.filters-open .sac-filters{display:block}.sac-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.sac-shop-toolbar{flex-wrap:wrap}.sac-lightbox{padding:55px 42px}.sac-lightbox-prev{left:3px}.sac-lightbox-next{right:3px}}
@media(max-width:420px){.sac-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sac-tile strong{font-size:14px}.sac-artwork-title{font-size:32px}}

/* v1.2.0 — modern gallery-first product detail; deliberately capped at 500 weight */
.sac-artwork-layout.sac-gallery-first{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,5vw,86px);align-items:start;max-width:1440px;margin:36px auto 0;color:#242424}
.sac-gallery-first .sac-artwork-gallery{position:static;min-width:0;order:0}
.sac-gallery-first .sac-artwork-info{min-width:0;order:1;flex:none;width:100%;position:sticky;top:24px}
.sac-gallery-first .sac-featured-image{background:#f6f5f3;border-radius:10px;overflow:hidden;min-height:320px;display:flex;align-items:center;justify-content:center}
.sac-gallery-first .sac-featured-image img{width:100%;max-height:760px;object-fit:contain}
.sac-gallery-first .sac-zoom-hint{right:16px;bottom:16px;background:#fff;color:#292929;box-shadow:0 2px 15px #00000010;padding:10px 14px;border-radius:2px;font-size:12px}
.sac-gallery-first .sac-thumbnails{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.sac-gallery-first .sac-thumb{width:76px;height:76px;border:1px solid #e5e5e5;border-radius:2px;overflow:hidden;transition:border-color .2s}
.sac-gallery-first .sac-thumb.is-active{border-color:#242424}
.sac-gallery-first .sac-artwork-meta{font-size:11px;letter-spacing:.13em;color:#777;font-weight:400;margin-bottom:13px}
.sac-gallery-first .sac-artwork-title{font-size:clamp(30px,3.1vw,49px);font-weight:500!important;line-height:1.15;letter-spacing:-.035em;margin:0 0 26px}
.sac-gallery-first .sac-price-header{padding-top:24px;margin-bottom:28px}
.sac-gallery-first .sac-eyebrow,.sac-artwork-description .sac-eyebrow{font-size:11px;letter-spacing:.13em;color:#888;font-weight:400}
.sac-gallery-first .sac-total{font-size:clamp(25px,2.5vw,34px);font-weight:500!important;letter-spacing:-.025em;margin:5px 0 0}
.sac-gallery-first .sac-editions{gap:9px;margin-bottom:26px}
.sac-gallery-first .sac-editions legend{font-size:14px;font-weight:500;margin-bottom:12px}
.sac-gallery-first .sac-edition-card{position:relative;display:flex;align-items:center;justify-content:space-between;border:1px solid #e6e6e6;padding:16px 18px;border-radius:4px;cursor:pointer;transition:border-color .2s,background .2s;min-height:70px}
.sac-gallery-first .sac-edition-card:has(input:checked){border-color:#292929;background:#fafafa}
.sac-gallery-first .sac-edition-card input{position:absolute;opacity:0;width:1px;height:1px}
.sac-gallery-first .sac-edition-card:has(input:focus-visible){outline:2px solid #5a84aa;outline-offset:2px}
.sac-gallery-first .sac-edition-copy{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500}
.sac-gallery-first .sac-edition-copy small{font-size:12px;font-weight:400;color:#777}
.sac-gallery-first .sac-edition-check{border:1px solid #bbb;width:17px;height:17px;border-radius:50%;flex-shrink:0}
.sac-gallery-first .sac-edition-card:has(input:checked) .sac-edition-check{border:5px solid #292929}
.sac-gallery-first .sac-field{font-weight:500;font-size:13px;margin-bottom:17px}
.sac-gallery-first .sac-field select{border:1px solid #dedede;background:#fff;border-radius:4px;min-height:51px;font-weight:400;margin-top:8px}
.sac-gallery-first .sac-field select:focus{outline:2px solid #999;outline-offset:1px}
.sac-gallery-first .sac-purchase-actions{margin-top:26px;background:#e5d6c5;padding:14px;border-radius:4px}
.sac-gallery-first .sac-add-cart{background:#242424!important;border-radius:3px;letter-spacing:.02em;text-transform:none;font-size:15px;font-weight:500!important;padding:17px 20px!important}
.sac-gallery-first .sac-add-cart:hover{background:#424242!important}
.sac-gallery-first .sac-purchase-note{font-size:11px;color:#777;text-align:center;margin:11px 0 0}

.sac-artwork-description .sac-description-inner{width:calc((100% - clamp(32px,5vw,86px)) * 0.56);max-width:none;min-width:0}
.sac-artwork-description h2{font-size:clamp(23px,2.5vw,32px);font-weight:500!important;margin:9px 0 20px}
.sac-artwork-layout :is(h1,h2,h3,h4,strong,b,label,button),.sac-artwork-description :is(h1,h2,h3,h4,strong,b){font-weight:500!important}
@media(max-width:850px){.sac-artwork-layout.sac-gallery-first{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:18px}.sac-gallery-first .sac-artwork-info{position:static;order:1}.sac-gallery-first .sac-artwork-gallery{order:0}.sac-gallery-first .sac-featured-image img{max-height:650px}.sac-artwork-description .sac-description-inner{width:100%}}
@media(max-width:480px){.sac-gallery-first .sac-thumb{width:62px;height:62px}.sac-gallery-first .sac-artwork-title{font-size:32px}.sac-gallery-first .sac-edition-card{padding:14px}}

/* v1.2.2: Story belongs to the gallery column, immediately below thumbnails. */
.sac-gallery-first .sac-artwork-gallery 
.sac-gallery-first .sac-artwork-gallery .sac-description-inner{width:100%;max-width:none}

/* v1.7.0: natural image dimensions, centered action and transient notification */
.sac-gallery-first .sac-featured-image{min-height:0!important;height:auto!important;background:transparent!important;display:block!important}
.sac-gallery-first .sac-featured-image img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:initial!important}
.sac-gallery-first .sac-add-cart{justify-content:center!important;position:relative;text-align:center!important}
.sac-gallery-first .sac-add-cart span[aria-hidden]{position:absolute;right:20px}
.sac-added{color:#277343;font-weight:500;font-size:14px;text-align:center;padding:20px;border:1px solid #e9dac9}
.sac-added[hidden]{display:none!important}
.sac-gallery-first .sac-zoom-hint{display:flex;align-items:center;justify-content:center;padding:10px!important}
.sac-gallery-first .sac-artwork-meta[hidden]{display:none}

/* v1.7.2: Artwork description spans the full product width beneath the gallery and purchasing columns. */

.sac-artwork-description .sac-description-inner{width:100%;max-width:none;min-width:0}
@media(max-width:850px){}

/* v1.7.3: single artwork description container rule. */
.sac-artwork-description {
width: 100%;
max-width: 1440px;
margin: 0 auto 85px;
padding: 20px 0 0;
box-sizing: border-box;
border-top: 0;
}

/* v1.8.0 — cart and checkout */
.sac-cart-page,.sac-checkout-page{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:clamp(24px,4vw,65px);max-width:1440px;margin:20px auto 70px;color:#292929}
.sac-cart-page h2,.sac-checkout-page h2{font-size:23px;font-weight:500;margin:0 0 26px}
.sac-cart-head,.sac-cart-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 135px;align-items:center;gap:18px}
.sac-cart-head{padding:0 0 16px;border-bottom:1px solid #d8cbbd;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.sac-cart-row{padding:24px 0;border-bottom:1px solid #e9dac9}
.sac-cart-product{display:flex;align-items:center;gap:18px;min-width:0}
.sac-cart-product img{width:110px;height:110px;object-fit:cover;border-radius:4px}
.sac-cart-title{display:block;color:inherit;text-decoration:none;font-size:17px;font-weight:500;margin-bottom:6px}
.sac-cart-edition,.sac-cart-option,.sac-cart-unit{font-size:12px;color:#68615b;margin:3px 0}
.sac-cart-remove{border:0!important;background:transparent!important;color:#746c65!important;text-decoration:underline;padding:8px 0!important;font-size:12px!important;cursor:pointer}
.sac-cart-qty input{width:74px!important;min-width:0;padding:9px!important;border:1px solid #d8cbbd!important;border-radius:3px;background:transparent}
.sac-cart-line{text-align:right;font-size:14px;font-weight:500}
.sac-cart-summary,.sac-checkout-summary{background:#f3e4d3;padding:clamp(22px,3vw,38px);align-self:start;border-radius:4px}
.sac-summary-line,.sac-checkout-item{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #d8cbbd;font-size:14px}
.sac-summary-total{font-size:17px;border-bottom:0;margin:12px 0}
.sac-cart-summary p,.sac-checkout-note{font-size:12px;color:#68615b;line-height:1.7;margin:18px 0}
.sac-action{display:block;width:100%;text-align:center;background:#242424!important;color:#fff!important;text-decoration:none!important;padding:17px 20px;border:0;border-radius:3px;font-size:14px;font-weight:500;cursor:pointer}
.sac-continue{display:block;text-align:center;margin-top:20px;font-size:13px;color:inherit;text-decoration:none}
.sac-cart-empty{display:block;text-align:center;padding:70px 20px}.sac-cart-empty .sac-action,.sac-checkout-empty .sac-action{max-width:270px;margin:25px auto}
.sac-checkout-details h2:not(:first-child){margin-top:40px}
.sac-checkout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sac-checkout-fields label{font-size:12px;font-weight:500;display:flex;flex-direction:column;gap:7px}
.sac-checkout-fields input,.sac-checkout-fields select{background:transparent;border:1px solid #d8cbbd;border-radius:3px;min-height:48px;padding:10px 13px;width:100%;font-size:14px}
.sac-checkout-notice{padding:20px;border:1px solid #d8cbbd;font-size:13px;margin-bottom:20px}.sac-checkout-notice p{margin:8px 0 0;font-size:12px}
.sac-checkout-disabled{opacity:.55;cursor:not-allowed}
.sac-checkout-item small{display:block;color:#777;font-size:12px;margin-top:6px}
.sac-cart-page.is-loading{opacity:.5;pointer-events:none}
@media(max-width:850px){.sac-cart-page,.sac-checkout-page{grid-template-columns:1fr}}
@media(max-width:540px){.sac-cart-head{display:none}.sac-cart-row{grid-template-columns:1fr 85px;gap:12px}.sac-cart-product{grid-column:1/-1}.sac-cart-line{text-align:right}.sac-checkout-fields{grid-template-columns:1fr}}


/* v1.8.4: two-column checkout grid, including shortcode content with wpautop-inserted breaks. */
.sac-checkout-page .sac-checkout-details { min-width: 0; width: 100%; }
.sac-checkout-page .sac-checkout-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 20px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.sac-checkout-page .sac-checkout-fields > br,
.sac-checkout-page .sac-checkout-fields > p:empty { display: none !important; }
.sac-checkout-page .sac-checkout-fields > label {
  display: flex !important; flex-direction: column !important;
  grid-column: auto !important; grid-row: auto !important;
  width: 100% !important; min-width: 0 !important; max-width: none !important;
  float: none !important; clear: none !important; margin: 0 !important;
}
.sac-checkout-page .sac-checkout-fields > label > :is(input,select) {
  box-sizing: border-box !important; width: 100% !important; max-width: 100% !important;
}
@media (max-width: 540px) {
  .sac-checkout-page .sac-checkout-fields { grid-template-columns: minmax(0, 1fr) !important; }
}

.sac-checkout-inline-error{padding:12px 16px;margin:16px 0;background:#fff2ef;color:#8c2d1d;border:1px solid #d7a198;border-radius:6px}.sac-checkout-inline-error[hidden]{display:none}

/* Square embedded checkout modal */
.sac-payment-open{overflow:hidden}.sac-payment-overlay{position:fixed;inset:0;z-index:999999;background:rgba(22,19,16,.74);display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.sac-payment-modal{position:relative;background:#fffdf8;color:#28231f;border-radius:12px;max-width:490px;width:100%;padding:36px;box-shadow:0 18px 80px rgba(0,0,0,.3)}.sac-payment-modal h2{margin:0 0 12px}.sac-payment-close{position:absolute;right:16px;top:12px;background:none;border:0;font-size:30px;cursor:pointer}.sac-payment-intro,.sac-payment-footer{color:#67615c;font-size:14px}.sac-payment-footer{text-align:center;margin:15px 0 0}.sac-payment-error{color:#a22b27;padding:10px;background:#fff0ed;border-radius:4px}.sac-payment-submit{width:100%;margin-top:16px}.sac-payment-success{text-align:center}.sac-payment-success .sac-action{display:inline-block;margin-top:15px}.sac-payment-check{margin:auto auto 15px;width:62px;height:62px;border-radius:50%;background:#e1f3e5;color:#247d3e;display:grid;place-items:center;font-size:32px}
