/* Orlisset's shared retail system. Native Woo controls retain their semantics. */
.orlisset-experience { --serif: Georgia, "Times New Roman", serif; --sans: Arial, Helvetica, sans-serif; }
.orlisset-experience :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid #92502e; outline-offset: 4px; }
.orlisset-experience .site-footer :is(a,button,summary):focus-visible { outline-color: #fff2d9; }
.orlisset-experience .masthead .wordmark { min-height: 44px; display: flex; align-items: center; }
.orlisset-experience .desktop-nav a, .orlisset-experience .menu summary, .orlisset-experience .search-drawer summary { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; }
.orlisset-experience .menu summary { justify-content: center; }
.orlisset-experience .desktop-nav a { border-bottom: 1px solid transparent; transition: border-color .15s; }
.orlisset-experience .desktop-nav a:hover { border-color: currentColor; text-decoration: none; }
.orlisset-experience .text-link { min-height: 44px; align-items: center; }
.orlisset-experience .dark-link { transition: background .15s, transform .15s; min-height: 48px; }
.orlisset-experience .dark-link:hover { transform: translateY(-1px); }
.orlisset-experience .dark-link:active { transform: translateY(1px); }
.orlisset-experience .campaign h1 { font-size: clamp(3rem, 5.2vw, 5.6rem); line-height: 1.03; letter-spacing: -.055em; max-width: 11ch; }
.orlisset-experience .campaign .intro { max-width: 29rem; }
.orlisset-experience .campaign-photo { background: #c9b59b; }
.orlisset-experience .home-featured { padding-block: clamp(3rem, 5vw, 5rem) 0; }
.orlisset-experience .arrivals-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.5rem 1.5rem; }
.orlisset-experience .piece { display: flex; flex-direction: column; min-width: 0; }
.orlisset-experience .piece-link h3 { min-height: 2.8em; line-height: 1.4; font-size: .96rem; }
.orlisset-experience .piece-link img { display: block; transition: transform .3s; }
.orlisset-experience .piece-link:hover h3 { text-decoration: underline; text-underline-offset: .2em; }
.orlisset-experience .piece-price { margin-top: auto; font-size: .95rem; }
.orlisset-experience .piece-availability { font-size: .76rem; color: var(--muted); margin: .55rem 0 0; }
.orlisset-experience .piece-purchase :is(select,input) { min-height: 44px; font-size: 16px; }
.orlisset-experience .orlisset-service-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; padding-block: 3rem; margin-top: 3rem; border-block: 1px solid var(--line); }
.orlisset-service-strip a { text-decoration: none; padding-block: .5rem; min-height: 64px; }
.orlisset-service-strip strong { font-size: 1rem; font-weight: 500; display: block; margin-bottom: .25rem; }
.orlisset-service-strip span { font-size: .85rem; color: var(--muted); }
.orlisset-service-strip a:hover strong { text-decoration: underline; text-underline-offset: .25em; }
.orlisset-experience .edits-grid:has(>a:only-child) { grid-template-columns: minmax(0,1fr); }
.orlisset-experience .edits-grid > a:only-child { aspect-ratio: 2.6; }
.orlisset-experience .footer-grid { grid-template-columns: 1.2fr 1fr 1.1fr 1.25fr; gap: 2rem; padding-bottom: 2rem; }
.orlisset-experience .footer-brand .footer-mark { width: 180px; margin-bottom: 1.1rem; }
.orlisset-experience .footer-brand p { font-size: .85rem; margin-bottom: 1.25rem; }
.orlisset-experience .footer-contact-link { min-height: 44px; display: inline-flex; align-items: center; gap: 1rem; font-size: .85rem; }
.orlisset-experience .footer-group { min-width: 0; }
.orlisset-experience .footer-group > summary { font: 500 .8rem/1.4 var(--sans); padding-block: .5rem 1rem; list-style: none; }
.orlisset-experience .footer-group > summary::-webkit-details-marker { display: none; }
.orlisset-experience .footer-group nav { font-size: .8rem; gap: .15rem; }
.orlisset-experience .footer-group nav a { display: inline-flex; align-items: center; min-height: 36px; overflow-wrap: anywhere; }
.orlisset-experience .footer-group nav a:hover { text-decoration: underline; text-underline-offset: .25em; }
.orlisset-experience .site-footer { padding-top: 3rem; background: #eee8de; color: #292721; }
.orlisset-experience .site-footer :is(a,button,summary):focus-visible { outline-color: #92502e; }
.orlisset-experience .footer-grid p, .orlisset-experience .footer-grid nav { color: #514b42; }
.orlisset-experience .footer-bottom { font-size: .7rem; line-height: 1.6; color: #635c50; }
.orlisset-experience .footer-bottom::before { border-color: #c9c0b2; }
.orlisset-experience .footer-bottom .merchant { gap: .3rem 1rem; }
.orlisset-experience .footer-payment-row { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.15rem; }
.orlisset-experience .footer-payment-row::before { content: ''; position: absolute; inset: 0 var(--gutter) auto; border-top: 1px solid #c9c0b2; }
.orlisset-experience .footer-payment-row > div { display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: center; }
.orlisset-experience .footer-payment-label { font-size: .8rem; font-weight: 600; }
.orlisset-experience .footer-payment-row a { font-size: .8rem; min-height: 44px; display: inline-flex; gap: .6rem; align-items: center; }
.orlisset-experience .footer-payment-marks { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.orlisset-experience .footer-payment-marks li { display: flex; align-items: center; gap: .5rem; background: #fff; border: 1px solid #ded7cc; padding: .3rem .6rem; border-radius: 3px; }
.orlisset-experience .footer-payment-marks img { display: block; width: 72px; height: 28px; object-fit: contain; }
.orlisset-experience .footer-payment-merchant { flex-basis: 100%; margin: -.25rem 0 0; font-size: .7rem; color: #635c50; }
.orlisset-experience .footer-payment-merchant b { font-weight: 500; }
.orlisset-experience.woocommerce .commerce ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.5rem 1.5rem; }
.orlisset-experience.woocommerce .commerce ul.products li.product { display: flex; flex-direction: column; }
.orlisset-experience.woocommerce .commerce ul.products li.product > .woocommerce-loop-product__link { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.orlisset-experience.woocommerce .commerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.8em; line-height: 1.4; }
.orlisset-experience.woocommerce .commerce ul.products li.product .price { margin-top: auto; font-size: .95rem; }
.orlisset-experience.woocommerce .commerce ul.products li.product .button { align-self: flex-start; min-height: 44px; margin-top: .8rem; }
.orlisset-experience.woocommerce :is(a,button,input).button,
.orlisset-experience.woocommerce :is(a,button,input).button.alt { background: var(--ink); min-height: 46px; display: inline-flex; align-items: center; justify-content: center; transition: background .15s, transform .15s; }
.orlisset-experience.woocommerce :is(a,button,input).button:hover { background: #51483d; }
.orlisset-experience.woocommerce :is(a,button,input).button:active { transform: translateY(1px); }
.orlisset-experience.woocommerce :is(a,button,input).button:is(:disabled,.disabled),
.orlisset-experience.woocommerce :is(a,button,input).button.alt:is(:disabled,.disabled) { background: #d6cec2; color: #514a40; opacity: 1; cursor: not-allowed; }
.orlisset-experience.woocommerce :is(input.input-text,select,textarea) { font-size: 16px; min-height: 46px; }
.orlisset-experience .collections-nav a { display: inline-flex; min-height: 44px; align-items: center; }
.orlisset-experience .collections-nav a[hidden] { display: none; }
.orlisset-experience .orlisset-results-search { max-width: 38rem; margin-block: 0 1.75rem; }
.orlisset-results-search label { display: block; margin-bottom: .5rem; font-size: .9rem; }
.orlisset-results-search > div { display: flex; gap: .5rem; }
.orlisset-results-search input[type=search] { flex: 1; width: 100%; min-width: 0; border: 1px solid var(--line); padding: .7rem; font: inherit; }
.orlisset-experience .orlisset-empty-actions { padding-block: .5rem 2rem; max-width: 35rem; }
.orlisset-experience.woocommerce-account .regular-page article { max-width: 32rem; margin-inline: auto; }
.orlisset-experience.woocommerce-account .regular-page h1 { font-size: clamp(2.25rem,4vw,3.5rem); }
.orlisset-experience.woocommerce-account .regular-page h2 { font-size: 1.4rem; }
.orlisset-experience.woocommerce-account form.login { border: 0; padding: 0; margin-top: 1.5rem; }
.orlisset-experience.woocommerce-account .woocommerce-LostPassword a { display: inline-flex; align-items: center; min-height: 44px; }
.orlisset-experience.woocommerce-cart .regular-page { min-height: 35vh; }
.orlisset-experience.woocommerce-cart .cart_totals h2 { font-size: 1.8rem; }
.orlisset-experience.woocommerce-cart a.remove { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.orlisset-experience.woocommerce-checkout .woocommerce-billing-fields h3,
.orlisset-experience.woocommerce-checkout #order_review_heading { font-size: 1.8rem; }
.orlisset-experience.woocommerce-checkout .woocommerce-error a { text-decoration: underline; }
@media(min-width:641px) { .orlisset-experience .footer-group > summary { cursor: default; } }
@media(max-width:850px) {
  .orlisset-experience .footer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .orlisset-experience .footer-brand { grid-column: 1/-1; }
  .orlisset-experience .campaign h1 { font-size: clamp(2.7rem,5vw,4rem); }
}
@media(max-width:640px) {
  .orlisset-experience .masthead-inner { gap: .25rem; grid-template-columns: 44px minmax(0,1fr) auto; }
  .orlisset-experience .masthead .wordmark { min-width: 0; justify-self: center; }
  .orlisset-experience .utilities { gap: .55rem; }
  .orlisset-experience .campaign h1 { font-size: clamp(2.7rem,11vw,3.5rem); max-width: 13ch; }
  .orlisset-experience .campaign .dark-link { width: 100%; justify-content: space-between; }
  .orlisset-experience .arrivals-grid,
  .orlisset-experience.woocommerce .commerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.75rem .8rem; }
  .orlisset-experience .piece-link h3,
  .orlisset-experience.woocommerce .commerce ul.products li.product .woocommerce-loop-product__title { min-height: 4.2em; font-size: .88rem; }
  .orlisset-experience .piece-price,
  .orlisset-experience.woocommerce .commerce ul.products li.product .price { font-size: .88rem; }
  .orlisset-experience .piece-purchase .button { width: 100%; }
  .orlisset-experience .orlisset-service-strip { grid-template-columns: 1fr; gap: .65rem; padding-block: 1.5rem; }
  .orlisset-experience .orlisset-service-strip a { min-height: 56px; }
  .orlisset-experience .edits-grid > a:only-child { aspect-ratio: 1.58; }
  .orlisset-experience .footer-grid { display: block; }
  .orlisset-experience .footer-brand { margin-bottom: 1.5rem; }
  .orlisset-experience .footer-group { border-top: 1px solid #c9c0b2; }
  .orlisset-experience .footer-group > summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: .75rem 0; font-size: .88rem; }
  .orlisset-experience .footer-group > summary::after { content: '+'; font-size: 1.2rem; }
  .orlisset-experience .footer-group[open] > summary::after { content: '−'; }
  .orlisset-experience .footer-group nav { padding-bottom: .8rem; font-size: .85rem; }
  .orlisset-experience .footer-group nav a { min-height: 44px; }
  .orlisset-experience.woocommerce-account .regular-page form button { width: 100%; margin-bottom: .5rem; }
  .orlisset-experience.woocommerce-account .woocommerce-form-login__rememberme { display: flex; align-items: center; min-height: 44px; gap: .5rem; }
  .orlisset-experience.woocommerce-checkout #place_order { width: 100%; }
}
@media(prefers-reduced-motion:reduce) { .orlisset-experience :is(.dark-link,.piece-link img,.button) { transition: none; transform: none; } }
