@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/playfair-display.ttf') format('truetype'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/playfair-display-semibold.ttf') format('truetype'); }
@font-face { font-family: 'Pirata One'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/pirata-one.ttf') format('truetype'); }
@font-face { font-family: 'Pompiere'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/pompiere.ttf') format('truetype'); }
:root { --lumen-dark: #1a1a1d; --lumen-white: #fff; --lumen-orange: #ffa400; --lumen-grey: #2d2d30; --lumen-display: 'Playfair Display', Georgia, serif; --lumen-body: 'Helvetica Now Display', 'Helvetica Neue', Helvetica, Arial, sans-serif; --wp--preset--color--contrast: #fff; --wp--preset--color--base: #1a1a1d; --wp--preset--color--accent-1: #ffa400; }
* { box-sizing: border-box; }
body.lumen-site { margin: 0; background: var(--lumen-dark); color: var(--lumen-white); font: 400 15px/1.5 var(--lumen-body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: 3px; }
a:hover { color: #ffa400; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #ffa400; outline-offset: 4px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { width: auto; height: auto; clip-path: none; top: 8px; left: 8px; padding: 12px; background: #ffa400; color: #1a1a1d; z-index: 100; }
h1, h2, h3 { font-family: var(--lumen-display); font-weight: 400; }
.site-header { width: min(100%, 1040px); padding: 24px 40px 18px; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.site-header__brand { display: inline-flex; }
.site-header__brand img { display: block; width: 100px; height: 46px; }
.site-header__cart { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.site-header__cart img { width: 24px; height: 24px; }
.site-header__tagline { font-size: 13px; font-weight: 400; }
.site-content { width: min(100%, 1040px); padding: 24px 40px 30px; margin: auto; min-height: calc(100svh - 190px); }
.site-content__title { font-size: 32px; letter-spacing: -.8px; line-height: 1.1; margin: 24px 0 32px; }
.site-content__continue { display: inline-block; margin-top: 24px; }
.site-footer { max-width: 1040px; margin: auto; padding: 24px 40px; display: flex; gap: 20px; justify-content: space-between; color: #bcbcbf; font-size: 12px; }
.site-footer p { margin: 0; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.lumen-home { max-width: 1040px; padding: 24px 40px; margin: auto; }
.lumen-hero { display: grid; grid-template-columns: 1.1fr 1fr; grid-template-rows: 1fr auto; align-items: center; min-height: min(740px, calc(100svh - 190px)); gap: 24px 40px; }
.lumen-hero__copy { align-self: end; }
.lumen-hero h1 { font: 400 clamp(40px, 5vw, 64px)/1.1 var(--lumen-display); letter-spacing: -1.5px; margin: 0 0 24px; }
.lumen-hero h1 span { color: #ffa400; }
.lumen-hero__description { font-size: 18px; line-height: 1.6; }
.lumen-hero__badges { display: flex; gap: 16px; padding: 0; margin-top: 24px; list-style: none; font-size: 13px; }
.lumen-hero__badges li { border: 1px solid #ffffff80; border-radius: 30px; padding: 5px 10px; }
.lumen-hero__visual { grid-column: 2; grid-row: 1 / 3; display: flex; align-items: center; justify-content: center; min-height: 540px; position: relative; isolation: isolate; }
.lumen-hero__visual::before { content: ''; position: absolute; inset: 12% -10%; z-index: -1; background: radial-gradient(ellipse, #ffa40035, transparent 65%); filter: blur(20px); }
.lumen-hero__visual img { width: 220px; height: auto; filter: drop-shadow(0 0 8px #ffb95e70); }
.lumen-hero__action { align-self: start; padding-bottom: 50px; }
.lumen-hero__action .lumen-button { width: 100%; max-width: 353px; }
.lumen-hero__action p { font-size: 13px; color: #c6c3be; margin: 14px 0 0; }
/* Keep WooCommerce's native cart and checkout components, with the Lumen palette. */
.lumen-site .woocommerce, .lumen-site .wc-block-components-sidebar-layout { color: #fff; }
.lumen-site .wc-block-cart, .lumen-site .wc-block-checkout { --wp--preset--color--contrast: #fff; --wp--preset--color--base: #1a1a1d; font-size: 15px; }
.lumen-site .wc-block-checkout .wc-block-components-text-input { line-height: 1.5; }
.lumen-site .wc-block-checkout .wc-block-components-text-input input { display: block; }
.lumen-site .wc-block-components-button:not(.is-link), .lumen-site .woocommerce a.button, .lumen-site .woocommerce button.button, .lumen-site .woocommerce input.button { background: linear-gradient(100deg, #ffddb7, #ffb95e 50%, #ffa400); color: #1a1a1d; border: 1px solid #ffa400; border-radius: 3px; min-height: 44px; font-family: var(--lumen-display); font-weight: 400; text-decoration: none; }
.lumen-site .wc-block-components-product-name { font-size: 18px; font-weight: 400; text-decoration: none; }
.lumen-site .wc-block-components-product-metadata { color: #d1cfd1; font-size: 13px; }
.lumen-site .wc-block-components-product-metadata .wc-block-components-product-metadata__description { display: none; }
.lumen-site .wc-block-components-quantity-selector { border: 1px solid #8a8a8c; border-radius: 4px; color: #fff; }
.lumen-site .wc-block-components-quantity-selector input, .lumen-site .wc-block-components-quantity-selector button { color: #fff; background: transparent; }
.lumen-site table.wc-block-cart-items { border-color: #ffa40040; }
.lumen-site .wc-block-cart-item__image img { border-radius: 3px; max-height: 180px; object-fit: contain; }
.lumen-site .wc-block-components-totals-wrapper { border-top-color: #ffa40040; }
.lumen-site .wc-block-components-totals-footer-item, .lumen-site .wc-block-components-product-price { font-family: var(--lumen-display); }
.lumen-site .wc-block-components-text-input input, .lumen-site .wc-block-components-combobox .wc-block-components-combobox-control input, .lumen-site .wc-block-components-textarea, .lumen-site .wc-blocks-components-select .wc-blocks-components-select__container { background: #303033; color: white; border-color: #858587; }
.lumen-site .wc-block-components-text-input label, .lumen-site .wc-block-components-combobox label, .lumen-site .wc-blocks-components-select label, .lumen-site .wc-block-components-checkout-step__description { color: #ccc; }
.lumen-site .wc-blocks-components-select select { color: #fff; }
.lumen-site .wc-block-components-radio-control__option { color: inherit; }
.lumen-site .woocommerce-message, .lumen-site .woocommerce-info, .lumen-site .woocommerce-error { background: #303033; color: #fff; }
@media (max-width: 600px) {
  .site-header { padding: 20px 20px 10px; }
  .site-header__brand img { width: 80px; height: 37px; }
  .site-header--home { flex-direction: column; position: relative; gap: 5px; }
  .site-header--home .site-header__brand img { width: 100px; height: 46px; }
  .site-header--home .site-header__cart { position: absolute; top: 20px; right: 12px; }
  .site-header__tagline { margin: 0; font-size: 12px; }
  .site-content { padding: 24px 20px 10px; }
  .site-footer { padding: 24px 20px; flex-direction: column; gap: 12px; text-align: center; }
  .site-footer nav { justify-content: center; }
  .lumen-home { padding: 24px 20px 0; }
  .lumen-hero { display: flex; flex-direction: column; min-height: calc(100svh - 125px); gap: 22px; }
  .lumen-hero__copy { text-align: center; align-self: center; }
  .lumen-hero h1 { font-size: 32px; letter-spacing: -.8px; margin: 0 0 10px; }
  .lumen-hero h1 br { display: none; }
  .lumen-hero__description { font-size: 15px; line-height: 22px; margin: 0; }
  .lumen-hero__description br { display: none; }
  .lumen-hero__badges { justify-content: center; gap: 14px; margin: 20px 0 0; font-size: 12px; }
  .lumen-hero__visual { min-height: 340px; flex: 1; width: 100%; }
  .lumen-hero__visual img { width: 174px; max-height: 348px; object-fit: contain; }
  .lumen-hero__action { width: 100%; padding: 0 0 20px; text-align: center; }
  .lumen-hero__action .lumen-button { max-width: none; }
  .lumen-site .wc-block-cart .wc-block-cart-items__row { padding-top: 20px; padding-bottom: 20px; }
}
/* Woo's form stylesheet is loaded after theme CSS: keep the dark input surface. */
.lumen-site .wc-block-components-form .wc-block-components-text-input input,
.lumen-site .wc-block-components-form .wc-block-components-combobox input,
.lumen-site .wc-block-components-form textarea { background-color: #303033 !important; color: #fff !important; border-color: #858587 !important; }
.lumen-site .wc-block-components-form .wc-block-components-text-input label { color: #d5d5d7 !important; }
.lumen-empty-cart__button .wp-block-button__link { background: linear-gradient(100deg, #ffddb7, #ffb95e 50%, #ffa400); color: #1a1a1d; border: 1px solid #ffa400; border-radius: 3px; padding: 12px 20px; font: 15px/1.4 var(--lumen-display); }

.site-header__actions { display: flex; align-items: center; gap: 16px; }
.site-header__help { border: 0; padding: 10px 4px; min-height: 44px; background: none; color: #fff; font: inherit; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.lumen-help { width: min(520px, calc(100% - 36px)); max-height: calc(100svh - 48px); box-sizing: border-box; padding: 28px; border: 1px solid #ffa40080; border-radius: 12px; background: #1a1a1d; color: #fff; box-shadow: 0 20px 80px #0009; }
.lumen-help::backdrop { background: #000b; }
.lumen-help__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.lumen-help__heading h2 { margin: 0; font: 400 28px/1.2 var(--lumen-display, Georgia, serif); }
.lumen-help__close { display: grid; place-items: center; width: 44px; height: 44px; border: 0; background: none; color: #fff; font: 30px/1 Arial, sans-serif; cursor: pointer; }
.site-header__help:focus-visible, .lumen-help__close:focus-visible { outline: 2px solid #ffa400; outline-offset: 3px; }
body:has(.lumen-help[open]) { overflow: hidden; }

.lumen-site .wc-block-checkout__shipping-method-option { background: #242429; color: #fff; border-color: #858587; }
.lumen-site .wc-block-checkout__shipping-method-option--selected { background: #ffa400; color: #1a1a1d; border-color: #ffa400; }
.lumen-site .wc-block-checkout__shipping-method-option-title-wrapper, .lumen-site .wc-block-checkout__shipping-method-option-title { color: inherit; }
.lumen-site .wc-block-checkout__shipping-method-option-icon { fill: currentColor; }
.lumen-site .wc-block-checkout__shipping-method-option:focus-visible { outline: 2px solid #ffddb7; outline-offset: 3px; }

/* Match the configurator's primary action, including Woo's inner button text. */
.lumen-site .wc-block-components-checkout-place-order-button,
.lumen-site .woocommerce #place_order { font-size: 16px !important; line-height: 1.3; }
.lumen-site .wc-block-components-checkout-place-order-button .wc-block-components-button__text { font-size: inherit !important; }

/* Native Elementor headings and text remain editable in the legal pages. */
.lumen-site .lumen-legal { color: #e2e1e2; font: 400 16px/1.75 var(--lumen-body); }
.lumen-site .lumen-legal .elementor-heading-title { color: #ffbe62; font: 400 24px/1.3 var(--lumen-display); margin: 0; }
.lumen-site .lumen-legal .elementor-widget-text-editor { font: inherit; color: inherit; }
.lumen-site .lumen-legal p { margin: 0 0 16px; }
.lumen-site .lumen-legal p:last-child { margin-bottom: 0; }
.lumen-site .lumen-legal a { color: #ffbe62; overflow-wrap: anywhere; }
.lumen-site .lumen-legal__intro { color: #bcbcbf; padding-bottom: 24px; border-bottom: 1px solid #ffbe6233; }
.lumen-site .lumen-legal__section { scroll-margin-top: 32px; }
.lumen-site .lumen-legal__updated { color: #bcbcbf; font-size: 14px; }
@media (max-width: 700px) {
  .lumen-site .lumen-legal { font-size: 15px; line-height: 1.7; }
  .lumen-site .lumen-legal .elementor-heading-title { font-size: 21px; }
}
