.thorn3-home-section { border-bottom: 1px solid var(--thorn3-line); }
/* Native Divi slides stay editable in the Visual Builder. */
body.thorn3-site .thorn3-home-accessible-title { position: absolute !important; width: 1px; height: 1px; margin: -1px !important; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.et-fb.thorn3-site .thorn3-home-accessible-title { position: relative !important; width: auto; height: auto; margin: 0 !important; clip-path: none; white-space: normal; }
body.thorn3-site .thorn3-divi-home-slider.et_pb_slider { --thorn3-hero-height: clamp(20rem,28vw,26rem); position: relative; width: 100%; margin: 0; overflow: hidden; border: 0; border-radius: 0; background: #505359; box-shadow: none; }
body.thorn3-site .thorn3-divi-home-slider .et_pb_slide { min-height: var(--thorn3-hero-height); padding: 0; background-position: center; background-size: cover; }
body.thorn3-site .thorn3-divi-home-slider .et_pb_slide .et_pb_container { display: flex; align-items: center; width: calc(100% - 8rem); max-width: 72rem; min-height: var(--thorn3-hero-height); height: auto !important; }
body.thorn3-site .thorn3-divi-home-slider .et_pb_slider_container_inner { display: block; width: 100%; }
body.thorn3-site .thorn3-divi-home-slider .et_pb_slide_description { width: 100%; padding: 3rem 0 4rem; float: none; text-align: center; text-shadow: none; }
body.thorn3-site .thorn3-divi-home-slider .et_pb_slide_title { max-width: none; margin: 0 0 1rem; padding: 0; color: #fff; font: 600 clamp(2.125rem,4vw,3.4375rem)/1.1 var(--thorn3-font-display); font-size: clamp(2.125rem,4vw,3.4375rem) !important; letter-spacing: -.02em; text-transform: uppercase; }
body.thorn3-site .thorn3-divi-home-slider .et_pb_slide_content { max-width: 58rem; margin-inline: auto; color: #fff; font: 400 clamp(1rem,1.4vw,1.3125rem)/1.5 var(--thorn3-font); }
body.thorn3-site .thorn3-divi-home-slider .et_pb_slide_content p { margin: 0; padding-bottom: 0; }
body.thorn3-site .thorn3-divi-home-slider .et_pb_button_wrapper { margin-top: 1.5rem; }
body.thorn3-site .thorn3-divi-home-slider .et_pb_button.et_pb_more_button,
body.thorn3-site .thorn3-divi-home-slider .et_pb_button.et_pb_more_button:hover { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: .6875rem 1.375rem !important; border: 1px solid var(--thorn3-gold); border-radius: var(--thorn3-radius-pill); background: var(--thorn3-gold); color: var(--thorn3-ink) !important; font: 600 1rem/1.25 var(--thorn3-font); text-decoration: none !important; box-shadow: none; }
body.thorn3-site .thorn3-divi-home-slider .et_pb_button.et_pb_more_button:hover { border-color: #ffd45a; background: #ffd45a; }
body.thorn3-site .thorn3-divi-home-slider .et_pb_more_button::before,
body.thorn3-site .thorn3-divi-home-slider .et_pb_more_button::after { display: none !important; }
/* Keep navigation stationary, reveal it on hover/focus, and retain 44px targets. */
body.thorn3-site .thorn3-divi-home-slider .et-pb-slider-arrows a,
body.thorn3-site .thorn3-home-hero .thorn3-slide-arrows button { position: absolute; top: 50%; z-index: 5; display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; transform: translateY(-50%); border: 1px solid #ffffff80; border-radius: 50%; background: #090b0e80; color: #fff !important; opacity: 0; pointer-events: none; font-size: 0; text-decoration: none !important; cursor: pointer; transition: opacity .18s ease, background-color .18s ease; }
body.thorn3-site .thorn3-divi-home-slider .et-pb-arrow-prev,
body.thorn3-site .thorn3-home-hero [data-slide-prev] { left: clamp(.5rem,2vw,2rem) !important; right: auto; }
body.thorn3-site .thorn3-divi-home-slider .et-pb-arrow-next,
body.thorn3-site .thorn3-home-hero [data-slide-next] { right: clamp(.5rem,2vw,2rem) !important; left: auto; }
body.thorn3-site .thorn3-divi-home-slider .et-pb-slider-arrows a::before,
body.thorn3-site .thorn3-home-hero .thorn3-slide-arrows button::before { position: static; display: block; width: 10px; height: 10px; content: ''; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
body.thorn3-site .thorn3-divi-home-slider .et-pb-slider-arrows a.et-pb-arrow-prev::before,
body.thorn3-site .thorn3-home-hero .thorn3-slide-arrows button[data-slide-prev]::before { transform: rotate(-135deg); }
body.thorn3-site .thorn3-divi-home-slider .et-pb-slider-arrows a::after { content: none !important; }
body.thorn3-site .thorn3-divi-home-slider:is(:hover,:focus-within) .et-pb-slider-arrows a,
body.thorn3-site .thorn3-home-hero:is(:hover,:focus-within) .thorn3-slide-arrows button { opacity: 1; pointer-events: auto; }
body.thorn3-site .thorn3-divi-home-slider .et-pb-slider-arrows a:hover,
body.thorn3-site .thorn3-home-hero .thorn3-slide-arrows button:hover { background: #090b0ed9; }
body.thorn3-site .thorn3-divi-home-slider :is(.et-pb-slider-arrows a,.et-pb-controllers a,.et_pb_more_button):focus-visible,
body.thorn3-site .thorn3-home-hero .thorn3-slide-arrows button:focus-visible { outline: 3px solid var(--thorn3-gold); outline-offset: 3px; }
body.thorn3-site .thorn3-divi-home-slider .et-pb-controllers { bottom: .25rem; left: 50%; z-index: 5; display: flex; justify-content: center; align-items: center; width: auto; height: 44px; transform: translateX(-50%); }
body.thorn3-site .thorn3-divi-home-slider .et-pb-controllers a { display: grid; place-items: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent !important; opacity: 1; font-size: 0; text-indent: 0; }
body.thorn3-site .thorn3-divi-home-slider .et-pb-controllers a::before { display: block; width: 8px; height: 8px; content: ''; border: 1px solid #fff; border-radius: 50%; background: #ffffff80; }
body.thorn3-site .thorn3-divi-home-slider .et-pb-controllers a.et-pb-active-control::before { width: 10px; height: 10px; background: #fff; }
body.thorn3-site .thorn3-home-hero .thorn3-slide-3 .thorn3-slide-image { transform: none; object-position: center; }
@media (hover: none), (pointer: coarse) {
  body.thorn3-site .thorn3-divi-home-slider .et-pb-slider-arrows a,
  body.thorn3-site .thorn3-home-hero .thorn3-slide-arrows button { opacity: 1; pointer-events: auto; }
}
@media (max-width: 47.99rem) {
  body.thorn3-site .thorn3-divi-home-slider.et_pb_slider { --thorn3-hero-height: 22rem; }
  body.thorn3-site .thorn3-divi-home-slider .et_pb_slide .et_pb_container { width: calc(100% - 7rem); }
  body.thorn3-site .thorn3-divi-home-slider .et_pb_slide_title { font-size: clamp(1.75rem,7.5vw,2.5rem) !important; }
  body.thorn3-site .thorn3-divi-home-slider .et_pb_slide_content { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.thorn3-site .thorn3-divi-home-slider :is(.et_pb_slide,.et_pb_slide_description,.et-pb-slider-arrows a) { animation: none !important; transition: none !important; }
}
.thorn3-home-section .thorn3-section-header { margin-bottom: var(--thorn3-space-5); }
.thorn3-home-section .thorn3-shelf-card h3 { font-size: 1.125rem; line-height: 1.4; letter-spacing: -.02em; margin: 16px 0 6px; }
.thorn3-home-section .thorn3-shelf-card h3 a { text-decoration: none; }
.thorn3-home-product .price { display: block; margin-block: 8px; font-size: var(--thorn3-text-small); }
.thorn3-home-product .price del { color: var(--thorn3-muted); }
.thorn3-home-product .price ins { text-decoration: none; }
.thorn3-home-product > .thorn3-text-link { margin-top: auto; font-size: var(--thorn3-text-small); }
.thorn3-home-journal .thorn3-card-media { aspect-ratio: 4/3; }
.thorn3-home-journal article { display: flex; flex-direction: column; border-top: 1px solid var(--thorn3-line); padding-top: var(--thorn3-space-5); }
.thorn3-home-journal .thorn3-card-media { margin-bottom: var(--thorn3-space-5); }
.thorn3-home-journal h3 { font-size: clamp(1.5rem,2.5vw,2rem); max-width: 22ch; }
.thorn3-home-journal h3 a { text-decoration: none; }
.thorn3-home-journal .thorn3-text-link { margin-top: auto; font-size: var(--thorn3-text-small); }
.thorn3-artist { background: var(--thorn3-ivory); }
.thorn3-artist-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--thorn3-space-8); align-items: start; }
.thorn3-artist-copy { font-size: var(--thorn3-text-lead); max-width: 40rem; }
.thorn3-artist-image { margin-top: var(--thorn3-space-6); width: 100%; max-height: 26rem; object-fit: contain; object-position: left; }
.thorn3-social-links { display: flex; flex-wrap: wrap; gap: var(--thorn3-space-3) var(--thorn3-space-5); margin-top: var(--thorn3-space-5); }
.thorn3-social-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--thorn3-text-small); }
.thorn3-newsletter { background: var(--thorn3-ink); color: var(--thorn3-paper); }
.thorn3-newsletter-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: var(--thorn3-space-8); align-items: center; }
.thorn3-newsletter h2 { max-width: 17ch; }
.thorn3-newsletter-copy { max-width: 40rem; font-size: var(--thorn3-text-lead); }
.thorn3-newsletter .thorn3-eyebrow { color: var(--thorn3-gold); }
.thorn3-newsletter .thorn3-button { border-color: var(--thorn3-paper); gap: var(--thorn3-space-5); }
.thorn3-newsletter-pending { border-top: 1px solid #55534e; padding-top: var(--thorn3-space-5); font-size: var(--thorn3-text-small); }
.thorn3-newsletter-form { min-width: 0; }
.thorn3-newsletter-form input, .thorn3-newsletter-form button { max-width: 100%; }
/* Scope Bloom styling to this section; preserve its validation and submit handlers. */
.et_bloom .thorn3-newsletter-form .et_bloom_optin { margin: 0; }
.et_bloom .thorn3-newsletter-form .et_bloom_form_container { background: transparent !important; box-shadow: none !important; width: 100%; border: 1px solid #55534e; border-radius: 2px; }
.et_bloom .thorn3-newsletter-form .et_bloom_form_container .et_bloom_form_header,
.et_bloom .thorn3-newsletter-form .et_bloom_form_container .et_bloom_form_content { background: transparent !important; padding: 24px; }
.et_bloom .thorn3-newsletter-form .et_bloom_form_container :is(h2,p,label) { color: var(--thorn3-paper) !important; font-family: var(--thorn3-font) !important; }
.et_bloom .thorn3-newsletter-form .et_bloom_form_container h2 { font-size: 1.5rem !important; line-height: 1.3 !important; }
.et_bloom .thorn3-newsletter-form .et_bloom_form_container input { background: var(--thorn3-paper) !important; color: var(--thorn3-ink) !important; min-height: 48px; font-size: 16px !important; border-radius: 2px !important; }
.et_bloom .thorn3-newsletter-form .et_bloom_form_container input::placeholder { color: var(--thorn3-muted) !important; }
.et_bloom .thorn3-newsletter-form .et_bloom_form_container button { background: var(--thorn3-ink) !important; color: var(--thorn3-paper) !important; min-height: 48px; border: 1px solid var(--thorn3-paper) !important; border-radius: 2px !important; }
.et_bloom .thorn3-newsletter-form .et_bloom_form_container button:hover { color: var(--thorn3-gold) !important; }
.et_bloom .thorn3-newsletter-form .et_bloom_form_container button span { color: inherit !important; font-family: var(--thorn3-font) !important; }
@media (min-width: 64rem) {
  .thorn3-home-section .thorn3-shelf-three { grid-auto-columns: calc((100% - 4rem)/3); }
}
@media (max-width: 47.99rem) {
  .thorn3-artist-layout, .thorn3-newsletter-layout { grid-template-columns: minmax(0,1fr); gap: var(--thorn3-space-5); }
  .thorn3-newsletter h2 { max-width: 100%; }
}
