/* =========================================================
   Titan Nova Inquiry Manager – Form, Product Buttons & List
========================================================= */
.tnim-widget{position:relative;left:50%;width:100vw;max-width:100vw;margin-left:-50vw;margin-right:-50vw;box-sizing:border-box;background:#fff;padding:70px 20px;font-family:inherit;overflow:hidden}.tnim-widget *,.tnim-modal *,.tnim-list-drawer *,.tnim-product-actions *{box-sizing:border-box}.tnim-widget__inner{width:100%;max-width:1120px;margin:0 auto}.tnim-widget__intro{max-width:760px;margin:0 auto 28px;text-align:center}.tnim-widget__title{margin:0 0 10px;color:#111;font-size:34px;line-height:1.2;font-weight:800}.tnim-widget__description{margin:0;color:#5b5b5b;font-size:16px;line-height:1.7}.tnim-form{padding:34px;background:#fff;border:1px solid #e3e3e3}.tnim-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tnim-widget--one-column .tnim-form__grid{grid-template-columns:1fr}.tnim-field{min-width:0}.tnim-field--message{grid-column:1/-1}.tnim-widget--one-column .tnim-field--message{grid-column:auto}.tnim-field label{display:block;margin:0 0 8px;color:#171717;font-size:14px;font-weight:700;line-height:1.3}.tnim-field label span{color:#d90812}.tnim-field input,.tnim-field textarea,.tnim-field select{width:100%;padding:13px 14px;border:1px solid #dcdcdc;border-radius:0;background:#fff;color:#111;font-family:inherit;font-size:14px;line-height:1.4;outline:none;box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}.tnim-field textarea{resize:vertical;min-height:132px}.tnim-field input::placeholder,.tnim-field textarea::placeholder{color:#929292;opacity:1}.tnim-field input:focus,.tnim-field textarea:focus,.tnim-field select:focus{border-color:#d90812;box-shadow:0 0 0 3px rgba(217,8,18,.08)}.tnim-form__footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.tnim-form__button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:0;padding:15px 24px;background:#d90812;color:#fff;font-family:inherit;font-size:14px;font-weight:800;line-height:1.1;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.tnim-form__button:hover{background:#101010;transform:translateY(-1px)}.tnim-form__button:disabled{cursor:not-allowed;opacity:.72;transform:none}.tnim-form__button-loader{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:tnim-spin .7s linear infinite}.tnim-form.is-loading .tnim-form__button-loader{display:block}.tnim-form__privacy{flex:1;margin:0;color:#777;font-size:12px;line-height:1.5;text-align:right}.tnim-form__response{display:none;margin-top:18px;padding:12px 14px;font-size:14px;line-height:1.5}.tnim-form__response.is-visible{display:block}.tnim-form__response--success{background:#edf9f1;border-left:3px solid #198754;color:#146c43}.tnim-form__response--error{background:#fff2f2;border-left:3px solid #d90812;color:#a20a12}.tnim-form__honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}@keyframes tnim-spin{to{transform:rotate(360deg)}}

/* Product action buttons */
.tnim-product-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin:14px 0 0}.tnim-product-actions--loop{justify-content:center;padding:0 8px}.tnim-product-actions--single{justify-content:flex-start}.tnim-product-actions__button{flex:1 1 135px;min-width:0;display:inline-flex!important;align-items:center;justify-content:center;min-height:40px;padding:10px 13px;border:1px solid #111!important;border-radius:0!important;background:#fff!important;color:#111!important;font-family:inherit;font-size:11px;font-weight:800;line-height:1.1;text-align:center;text-transform:uppercase;letter-spacing:.02em;box-shadow:none!important;cursor:pointer;transition:all .2s ease}.tnim-product-actions__button:hover{background:#111!important;border-color:#111!important;color:#fff!important;transform:translateY(-1px)}.tnim-product-actions__button--send{background:#d90812!important;border-color:#d90812!important;color:#fff!important}.tnim-product-actions__button--send:hover{background:#101010!important;border-color:#101010!important}.tnim-product-actions__button--list.is-added{background:#f3f3f3!important;color:#727272!important;border-color:#d7d7d7!important;cursor:pointer}.tnim-product-actions__button--list.is-added:hover{background:#111!important;color:#fff!important;border-color:#111!important}

/* Floating inquiry list button */
.tnim-list-toggle{position:fixed;right:22px;bottom:22px;z-index:99990;display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:0 14px;border:0;border-radius:0;background:#d90812;color:#fff;font-family:inherit;font-size:12px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.02em;box-shadow:0 10px 24px rgba(0,0,0,.25);cursor:pointer;transition:background .2s ease,transform .2s ease}.tnim-list-toggle:hover{background:#101010;transform:translateY(-2px)}.tnim-list-toggle__icon{font-size:18px;line-height:1}.tnim-list-toggle__count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 5px;border-radius:50%;background:#fff;color:#d90812;font-size:11px}.tnim-list-toggle__count:not(.has-items){opacity:.72}

/* Shared close icon */
.tnim-close-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8d8d8;border-radius:50%;background:#fff;color:#111;font-family:Arial,sans-serif;font-size:25px;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.tnim-close-button:hover{background:#d90812;border-color:#d90812;color:#fff}

/* Modal */
.tnim-no-scroll{overflow:hidden!important}.tnim-modal{position:fixed;inset:0;z-index:99999;display:none;padding:28px 18px;overflow:auto}.tnim-modal.is-open{display:flex;align-items:flex-start;justify-content:center}.tnim-modal__overlay{position:fixed;inset:0;border:0;background:rgba(0,0,0,.72);cursor:pointer}.tnim-modal__dialog{position:relative;z-index:1;width:100%;max-width:920px;margin:3vh auto 30px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.38)}.tnim-modal__content{padding:36px}.tnim-modal__close{position:absolute;top:14px;right:14px}.tnim-modal__title{margin:0 45px 8px 0;color:#111;font-size:28px;line-height:1.2;font-weight:800}.tnim-modal__description{max-width:700px;margin:0 0 22px;color:#5d5d5d;font-size:14px;line-height:1.65}.tnim-form--modal{border:0;padding:0}

/* Selected products inside the inquiry form */
.tnim-selected-products{margin:0 0 20px;border:1px solid #ebd2d3;background:#fff8f8}.tnim-selected-products__heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#fff1f1;color:#111;font-size:13px}.tnim-selected-products__heading span{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;border-radius:50%;background:#d90812;color:#fff;font-size:11px;font-weight:800}.tnim-selected-products__items{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px}.tnim-selected-products__item{display:inline-flex;flex-direction:column;gap:2px;padding:7px 9px;border:1px solid #eadada;background:#fff;color:#1a1a1a;font-size:12px;font-weight:700;line-height:1.25}.tnim-selected-products__item span{color:#747474;font-size:10px;font-weight:500}

/* Inquiry list drawer */
.tnim-list-drawer{position:fixed;inset:0;z-index:99998;pointer-events:none}.tnim-list-drawer.is-open{pointer-events:auto}.tnim-list-drawer__overlay{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .25s ease;cursor:pointer}.tnim-list-drawer.is-open .tnim-list-drawer__overlay{opacity:1}.tnim-list-drawer__panel{position:absolute;top:0;right:0;width:min(430px,100%);height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:-16px 0 40px rgba(0,0,0,.22);transform:translateX(105%);transition:transform .28s ease}.tnim-list-drawer.is-open .tnim-list-drawer__panel{transform:translateX(0)}.tnim-list-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:24px 22px 18px;border-bottom:1px solid #e8e8e8}.tnim-list-drawer__eyebrow{display:block;margin:0 0 5px;color:#d90812;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.tnim-list-drawer__header h3{margin:0;color:#111;font-size:22px;line-height:1.2;font-weight:800}.tnim-list-drawer__header h3 span{color:#d90812}.tnim-list-drawer__items{flex:1;min-height:0;padding:14px 18px;overflow:auto}.tnim-list-item{position:relative;display:flex;align-items:center;gap:12px;padding:12px 30px 12px 0;border-bottom:1px solid #efefef}.tnim-list-item__image{width:58px;height:64px;flex:0 0 58px;display:flex;align-items:center;justify-content:center;background:#f6f6f6}.tnim-list-item__image img{width:100%;height:100%;object-fit:contain}.tnim-list-item__placeholder{color:#777;font-size:10px;font-weight:700;text-transform:uppercase}.tnim-list-item__content{min-width:0;display:flex;flex-direction:column;gap:4px}.tnim-list-item__content strong{overflow:hidden;color:#171717;font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.tnim-list-item__sku{color:#777;font-size:11px}.tnim-list-item__remove{position:absolute;top:50%;right:0;width:25px;height:25px;transform:translateY(-50%);border:0;background:transparent;color:#777;font-family:Arial,sans-serif;font-size:22px;line-height:1;cursor:pointer}.tnim-list-item__remove:hover{color:#d90812}.tnim-list-drawer__empty{padding:44px 24px;text-align:center}.tnim-list-drawer__empty strong{display:block;margin:0 0 7px;color:#151515;font-size:16px}.tnim-list-drawer__empty span{display:block;color:#777;font-size:13px;line-height:1.6}.tnim-list-drawer__footer{display:flex;gap:10px;padding:16px 18px;border-top:1px solid #e8e8e8;background:#fafafa}.tnim-list-drawer__footer button{min-height:43px;border-radius:0;font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.01em;text-transform:uppercase;cursor:pointer}.tnim-list-drawer__clear{flex:0 0 auto;padding:0 13px;border:1px solid #d4d4d4;background:#fff;color:#333}.tnim-list-drawer__send{flex:1;padding:0 12px;border:1px solid #d90812;background:#d90812;color:#fff}.tnim-list-drawer__clear:hover:not(:disabled){border-color:#111;background:#111;color:#fff}.tnim-list-drawer__send:hover:not(:disabled){border-color:#111;background:#111}.tnim-list-drawer__footer button:disabled{cursor:not-allowed;opacity:.45}.tnim-list-drawer--inline{position:relative;inset:auto;display:block;pointer-events:auto;max-width:900px;margin:0 auto}.tnim-list-drawer--inline .tnim-list-drawer__panel{position:relative;width:100%;height:auto;min-height:420px;transform:none;border:1px solid #e3e3e3;box-shadow:0 9px 25px rgba(0,0,0,.1)}.tnim-list-drawer--inline .tnim-list-drawer__items{max-height:460px}

/* Toast */
.tnim-live-message{position:fixed;right:22px;bottom:84px;z-index:100000;max-width:320px;padding:12px 14px;background:#111;color:#fff;font-size:13px;line-height:1.45;box-shadow:0 10px 24px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.tnim-live-message.is-visible{opacity:1;visibility:visible;transform:translateY(0)}

@media(max-width:767px){.tnim-widget{padding:44px 16px}.tnim-widget__intro{margin-bottom:22px}.tnim-widget__title{font-size:27px}.tnim-widget__description{font-size:14px}.tnim-form{padding:22px 16px}.tnim-form__grid{grid-template-columns:1fr;gap:14px}.tnim-field--message{grid-column:auto}.tnim-form__footer{align-items:stretch;flex-direction:column}.tnim-form__button{width:100%}.tnim-form__privacy{text-align:center}.tnim-field input,.tnim-field textarea,.tnim-field select{padding:12px}.tnim-field textarea{min-height:120px}.tnim-product-actions{gap:7px}.tnim-product-actions--loop{padding:0 5px}.tnim-product-actions__button{flex-basis:100%;min-height:38px;font-size:10px}.tnim-list-toggle{right:14px;bottom:14px;min-height:44px;padding:0 12px}.tnim-list-toggle__text{display:none}.tnim-modal{padding:12px}.tnim-modal__dialog{margin:0 auto 12px}.tnim-modal__content{padding:28px 16px 20px}.tnim-modal__title{font-size:23px}.tnim-modal__description{font-size:13px}.tnim-list-drawer__panel{width:100%}.tnim-list-drawer__header{padding:20px 16px 15px}.tnim-list-drawer__items{padding:12px 16px}.tnim-list-drawer__footer{padding:14px 16px}.tnim-live-message{right:14px;bottom:68px;left:14px;max-width:none}.tnim-list-drawer--inline .tnim-list-drawer__panel{min-height:380px}.tnim-selected-products__items{max-height:150px;overflow:auto}}

/* =========================================================
   Titan Nova Inquiry Manager v1.2 – Inquiry List UI Fixes
========================================================= */
/* Never allow the hidden global drawer to consume document space. */
#tnim-inquiry-list-drawer[aria-hidden="true"] {
  display: none !important;
}
#tnim-inquiry-list-drawer.is-open,
#tnim-inquiry-list-drawer[aria-hidden="false"] {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  z-index: 2147483000 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Floating Inquiry List: Titan Nova red by default. */
.tnim-list-toggle {
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  left: auto !important;
  top: auto !important;
  z-index: 2147482990 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid #d90812 !important;
  border-radius: 0 !important;
  background: #d90812 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .28) !important;
}
.tnim-list-toggle:hover,
.tnim-list-toggle:focus {
  background: #101010 !important;
  border-color: #101010 !important;
  color: #ffffff !important;
}
.tnim-list-toggle__icon,
.tnim-list-toggle__text {
  color: #ffffff !important;
}
.tnim-list-toggle__count {
  background: #ffffff !important;
  color: #d90812 !important;
}

/* Ensure list drawer overlay and panel retain their off-canvas behavior. */
#tnim-inquiry-list-drawer .tnim-list-drawer__overlay {
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
}
#tnim-inquiry-list-drawer .tnim-list-drawer__panel {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  margin: 0 !important;
}

/* Product image cards in the popup selected-products area. */
.tnim-selected-products__items {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)) !important;
  gap: 10px !important;
  padding: 14px !important;
}
.tnim-selected-products__item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  min-height: 76px !important;
  padding: 8px !important;
  border: 1px solid #eadada !important;
  background: #ffffff !important;
  color: #171717 !important;
}
.tnim-selected-products__image {
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #f7f7f7 !important;
}
.tnim-selected-products__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
.tnim-selected-products__image--placeholder {
  color: #777 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}
.tnim-selected-products__content {
  min-width: 0 !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.tnim-selected-products__content strong {
  overflow: hidden !important;
  color: #171717 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.tnim-selected-products__content span {
  color: #747474 !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

@media (max-width: 767px) {
  .tnim-list-toggle {
    right: 14px !important;
    bottom: 14px !important;
    min-height: 44px !important;
    padding: 0 13px !important;
  }
  .tnim-selected-products__items {
    grid-template-columns: 1fr !important;
    max-height: 240px !important;
    overflow-y: auto !important;
  }
}


/* =========================================================
   Titan Nova Inquiry Manager v1.3 – Adjustable List Button
========================================================= */
/* Reset all edge values first so the selected backend position always wins. */
.tnim-list-toggle[data-tnim-desktop-position] {
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
}
.tnim-list-toggle[data-tnim-desktop-position="bottom-right"] {
  right: var(--tnim-desktop-x, 22px) !important;
  bottom: calc(var(--tnim-desktop-y, 22px) + env(safe-area-inset-bottom, 0px)) !important;
}
.tnim-list-toggle[data-tnim-desktop-position="bottom-left"] {
  left: var(--tnim-desktop-x, 22px) !important;
  bottom: calc(var(--tnim-desktop-y, 22px) + env(safe-area-inset-bottom, 0px)) !important;
}
.tnim-list-toggle[data-tnim-desktop-position="top-right"] {
  right: var(--tnim-desktop-x, 22px) !important;
  top: calc(var(--tnim-desktop-y, 22px) + env(safe-area-inset-top, 0px)) !important;
}
.tnim-list-toggle[data-tnim-desktop-position="top-left"] {
  left: var(--tnim-desktop-x, 22px) !important;
  top: calc(var(--tnim-desktop-y, 22px) + env(safe-area-inset-top, 0px)) !important;
}

@media (max-width: 767px) {
  /* The default mobile position is 84px above the lower edge so it clears WoodMart mobile navigation. */
  .tnim-list-toggle[data-tnim-mobile-position] {
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
  }
  .tnim-list-toggle[data-tnim-mobile-position="bottom-right"] {
    right: var(--tnim-mobile-x, 14px) !important;
    bottom: calc(var(--tnim-mobile-y, 84px) + env(safe-area-inset-bottom, 0px)) !important;
  }
  .tnim-list-toggle[data-tnim-mobile-position="bottom-left"] {
    left: var(--tnim-mobile-x, 14px) !important;
    bottom: calc(var(--tnim-mobile-y, 84px) + env(safe-area-inset-bottom, 0px)) !important;
  }
  .tnim-list-toggle[data-tnim-mobile-position="top-right"] {
    right: var(--tnim-mobile-x, 14px) !important;
    top: calc(var(--tnim-mobile-y, 14px) + env(safe-area-inset-top, 0px)) !important;
  }
  .tnim-list-toggle[data-tnim-mobile-position="top-left"] {
    left: var(--tnim-mobile-x, 14px) !important;
    top: calc(var(--tnim-mobile-y, 14px) + env(safe-area-inset-top, 0px)) !important;
  }
}
