/* TQO global Elementor helpers and dynamic header fixes */
.tqo-page-widget { width: 100%; overflow-x: clip; }
.tqo-page-widget img { max-width: 100%; height: auto; }

nav.tqo-site-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  padding: 22px 56px;
  background-color: rgba(250, 247, 242, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(196, 132, 121, 0.22);
}
nav.tqo-site-nav .nav-logo {
  font-family: 'Lora', serif;
  font-size: 28px;
  font-style: italic;
  color: #1E1410;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  line-height: 1;
}
nav.tqo-site-nav .nav-links a {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #3A2B27;
  text-decoration: none;
  transition: color 0.2s ease;
}
nav.tqo-site-nav .nav-links a:hover,
nav.tqo-site-nav .nav-links a.active { color: #C48479; }
nav.tqo-site-nav .nav-cta {
  background-color: #C48479 !important;
  color: #ffffff !important;
  padding: 11px 24px !important;
  border-radius: 3px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
nav.tqo-site-nav .nav-cta:hover { background-color: #B87068 !important; transform: translateY(-1px); }

/* Desktop header must remain one line */
nav.tqo-site-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 22px !important;
  box-sizing: border-box;
}
nav.tqo-site-nav .nav-logo {
  flex: 0 0 auto !important;
  min-width: 0;
  max-width: min(34vw, 390px);
  white-space: nowrap !important;
  overflow: visible;
}
nav.tqo-site-nav .nav-logo span {
  display: inline-block;
  white-space: nowrap;
}
nav.tqo-site-nav .nav-logo img {
  max-height: 54px;
  max-width: 250px;
}
nav.tqo-site-nav .tqo-nav-actions {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
}
nav.tqo-site-nav .nav-links,
nav.tqo-site-nav ul.nav-links {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap !important;
  gap: clamp(14px, 2.15vw, 34px) !important;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
nav.tqo-site-nav .nav-links > li {
  flex: 0 0 auto;
  list-style: none;
  position: relative;
  margin: 0;
  padding: 0;
}
nav.tqo-site-nav .nav-links a {
  white-space: nowrap !important;
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
}
nav.tqo-site-nav .nav-cta {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
nav.tqo-site-nav .sub-menu {
  position: absolute;
  top: calc(100% + 14px);
  left: 0;
  min-width: 190px;
  list-style: none;
  margin: 0;
  padding: 12px 0;
  background: #fff;
  border: 1px solid rgba(196, 132, 121, 0.22);
  box-shadow: 0 20px 44px rgba(30,20,16,0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
nav.tqo-site-nav .menu-item-has-children:hover > .sub-menu,
nav.tqo-site-nav .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
nav.tqo-site-nav .sub-menu a {
  width: 100%;
  padding: 10px 16px;
  color: #3A2B27;
  text-decoration: none;
}
nav.tqo-site-nav .sub-menu a:hover { color: #C48479; }

.tqo-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(196, 132, 121, 0.35);
  background: rgba(255,255,255,0.35);
  border-radius: 3px;
  cursor: pointer;
  padding: 9px;
  flex: 0 0 auto;
}
.tqo-menu-toggle span {
  display: block;
  height: 2px;
  width: 100%;
  background: #3A2B27;
  margin: 5px 0;
  transition: transform .2s ease, opacity .2s ease;
}
.tqo-menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.tqo-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.tqo-menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.tqo-account-wrap {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
}
.tqo-account-trigger {
  border: 1px solid rgba(196,132,121,0.28);
  background: rgba(255,255,255,0.42);
  color: #3A2B27;
  border-radius: 999px;
  padding: 8px 13px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  font-family: 'Inter', sans-serif;
  font-size: 11.5px;
  font-weight: 400;
  letter-spacing: .11em;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.tqo-account-trigger:hover { color: #C48479; border-color: rgba(196,132,121,0.55); background: rgba(255,255,255,0.72); }
.tqo-account-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  border: 1px solid rgba(196,132,121,0.28);
}
.tqo-account-caret { font-size: 10px; margin-left: 2px; }
.tqo-account-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 12px);
  min-width: 210px;
  background: #fff;
  border: 1px solid rgba(196,132,121,0.22);
  box-shadow: 0 22px 52px rgba(30,20,16,0.13);
  padding: 9px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index: 1000;
}
.tqo-account-wrap:hover .tqo-account-dropdown,
.tqo-account-wrap:focus-within .tqo-account-dropdown,
.tqo-account-wrap.is-open .tqo-account-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.tqo-account-dropdown a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 11px 16px;
  text-decoration: none;
  color: #3A2B27;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tqo-account-dropdown a:hover { color: #C48479; background: rgba(196,132,121,0.07); }
.tqo-account-small {
  display: block;
  padding: 5px 16px 10px;
  color: rgba(58,43,39,0.55);
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
  font-family: 'Inter', sans-serif;
  border-bottom: 1px solid rgba(196,132,121,0.14);
  margin-bottom: 5px;
}

@media (max-width: 1240px) and (min-width: 1101px) {
  nav.tqo-site-nav { padding-left: 32px !important; padding-right: 32px !important; gap: 16px !important; }
  nav.tqo-site-nav .nav-logo { max-width: 300px; }
  nav.tqo-site-nav .nav-links, nav.tqo-site-nav ul.nav-links { gap: 18px !important; }
  .tqo-account-trigger { padding-left: 10px; padding-right: 10px; font-size: 10.5px; }
  nav.tqo-site-nav .nav-cta { padding-left: 18px !important; padding-right: 18px !important; }
}

@media (max-width: 1100px) {
  nav.tqo-site-nav { padding: 18px 24px !important; position: fixed; }
  nav.tqo-site-nav .nav-logo { max-width: calc(100% - 60px); }
  nav.tqo-site-nav .nav-logo span { overflow: hidden; text-overflow: ellipsis; max-width: 72vw; }
  .tqo-menu-toggle { display: block !important; }
  nav.tqo-site-nav .tqo-nav-actions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 10px 24px 20px;
    background: rgba(250,247,242,0.98);
    border-bottom: 1px solid rgba(196,132,121,0.22);
    box-shadow: 0 18px 40px rgba(30,20,16,0.08);
  }
  nav.tqo-site-nav .tqo-nav-actions.is-open { display: flex !important; }
  nav.tqo-site-nav .nav-links,
  nav.tqo-site-nav ul.nav-links {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0 !important;
    width: 100%;
  }
  nav.tqo-site-nav .nav-links > li { width: 100%; }
  nav.tqo-site-nav .nav-links a {
    width: 100%;
    padding: 13px 0;
    justify-content: flex-start;
  }
  nav.tqo-site-nav .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    background: transparent;
    border: 0;
    padding: 0 0 0 16px;
  }
  nav.tqo-site-nav .nav-cta { margin-top: 10px; text-align: center; justify-content: center; width: 100%; }
  .tqo-account-wrap { width: 100%; margin-top: 10px; display: block; }
  .tqo-account-trigger { width: 100%; justify-content: center; min-height: 44px; }
  .tqo-account-dropdown { position: static; width: 100%; opacity: 1; visibility: visible; transform: none; margin-top: 8px; display: none; }
  .tqo-account-wrap.is-open .tqo-account-dropdown { display: block; }
}

/* Width alignment fix: header content uses the same centered container as page sections */
nav.tqo-site-nav {
  padding: 22px 0 !important;
  justify-content: center !important;
}
nav.tqo-site-nav .tqo-nav-inner {
  width: min(1180px, calc(100% - 112px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 22px;
  min-width: 0;
  box-sizing: border-box;
}
nav.tqo-site-nav .tqo-nav-inner > .nav-logo {
  flex: 0 0 auto !important;
}
nav.tqo-site-nav .tqo-nav-inner > .tqo-nav-actions {
  flex: 1 1 auto;
}
@media (max-width: 1240px) and (min-width: 1101px) {
  nav.tqo-site-nav { padding-left: 0 !important; padding-right: 0 !important; }
  nav.tqo-site-nav .tqo-nav-inner { width: min(1180px, calc(100% - 64px)); gap: 16px; }
}
@media (max-width: 1100px) {
  nav.tqo-site-nav { padding: 18px 0 !important; }
  nav.tqo-site-nav .tqo-nav-inner { width: calc(100% - 48px); }
}
@media (max-width: 480px) {
  nav.tqo-site-nav .tqo-nav-inner { width: calc(100% - 36px); }
}

/* TQO WooCommerce dynamic areas */
.tqo-woo-message{
  background:#fff;
  border:1px solid rgba(196,132,121,.28);
  border-top:3px solid var(--terra,#C48479);
  padding:28px;
  color:var(--dark,#1E1410);
  font-family:'Inter',sans-serif;
  line-height:1.7;
}
.product-art.product-art-image{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#fff,#F7F1EA);
}
.product-art.product-art-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tqo-woo-cart-panel,
.tqo-woo-checkout-panel{
  width:100%;
  background:#fff;
  border:1px solid rgba(196,132,121,.22);
  box-shadow:0 18px 48px rgba(30,20,16,.08);
  padding:34px;
  color:var(--dark,#1E1410);
}
.tqo-woo-cart-panel .woocommerce,
.tqo-woo-checkout-panel .woocommerce{width:100%;}
.tqo-woo-cart-panel table.shop_table,
.tqo-woo-checkout-panel table.shop_table{
  border:1px solid rgba(196,132,121,.22)!important;
  border-radius:0!important;
  font-family:'Inter',sans-serif;
}
.tqo-woo-cart-panel table.shop_table th,
.tqo-woo-checkout-panel table.shop_table th{
  color:var(--terra,#C48479);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:500;
}
.tqo-woo-cart-panel .button,
.tqo-woo-checkout-panel .button,
.tqo-woo-cart-panel button.button,
.tqo-woo-checkout-panel button.button{
  background:var(--terra,#C48479)!important;
  color:#fff!important;
  border-radius:3px!important;
  padding:14px 24px!important;
  font-family:'Inter',sans-serif!important;
  font-size:12px!important;
  font-weight:500!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  border:none!important;
}
.tqo-woo-cart-panel .button:hover,
.tqo-woo-checkout-panel .button:hover{
  background:var(--terra2,#B87068)!important;
}
.tqo-woo-checkout-panel input.input-text,
.tqo-woo-checkout-panel textarea,
.tqo-woo-checkout-panel select,
.tqo-woo-cart-panel input.input-text,
.tqo-woo-cart-panel textarea{
  border:1px solid rgba(196,132,121,.22)!important;
  border-radius:3px!important;
  padding:13px 14px!important;
  background:#FAF7F2!important;
}
.product-info-side .cart.purchase-row .qty-control input[type=number]{
  width:56px;
  border:none;
  text-align:center;
  background:transparent;
  color:var(--dark,#1E1410);
}
.product-info-side .cart.purchase-row .qty-control button{
  border:none;
  background:transparent;
  cursor:pointer;
  font-size:18px;
  color:var(--terra,#C48479);
}
@media (max-width: 767px){
  .tqo-woo-cart-panel,.tqo-woo-checkout-panel{padding:18px;overflow-x:auto;}
}
