@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

body {
  font-family: 'Baskerville', 'Garamond', 'Times New Roman', serif !important;
	
/* 	 background: linear-gradient(
      135deg,
      #f9f5f1 0%,
      #f4ede7 25%,
      #ede3d9 50%,
      #f7f2eb 75%,
      #f3e8dd 100%
    ) ,
    url("https://www.transparenttextures.com/patterns/paper-fibers.png")!important; */
  
 


}
h1,h2,p,a,span,div{
	font-family: 'Baskerville', 'Garamond', 'Times New Roman', serif !important;
}
a{
	text-decoration:none !important;
}
/* body {
background: linear-gradient(to bottom, #fffef0 0%, #f0e6d6 50%, #d4c9b1 100%)!important;
  background-attachment: fixed;
  background-size: cover;
  color: #6D3914 ; 
}  */

/**********************************************************************
paper style background starts  
***********************************************************************/
/* ===============================
   VINTAGE PAPER BACKGROUND
   WORDPRESS + ELEMENTOR SAFE
   =============================== */

:root{
  --paper-base: #f6efe4;
  --text-color: #6D3914;

  --paper-texture: url("https://lost-archive.com/wp-content/uploads/2025/12/paper-texture-1.png");
  --paper-stains: url("https://lost-archive.com/wp-content/uploads/2025/12/paper-texture-1.png");
  --paper-edges: url("https://lost-archive.com/wp-content/uploads/2025/12/paper-texture-1.png");
}

/* RESET */
html, body{
  margin: 0;
  padding: 0;
  min-height: 100%;
}

/* ===============================
   LOST ARCHIVE – BODY CANVAS
   =============================== */
body{
  position: relative;
  min-height: 100vh;
  color: var(--text-color);

  background-color: var(--paper-base) !important;

  background-image:
    /* vignette aging */
    radial-gradient(
      ellipse at center,
      rgba(255,255,255,0.35) 0%,
      rgba(0,0,0,0.08) 100%
    ),

    /* subtle vertical fold */
    linear-gradient(
      90deg,
      rgba(0,0,0,0.04) 49%,
      rgba(0,0,0,0.08) 50%,
      rgba(0,0,0,0.04) 51%
    ),

    /* stains */
    var(--paper-stains),

    /* edges */
    var(--paper-edges),

    /* paper grain */
    var(--paper-texture) !important;

  background-repeat:
    no-repeat,
    no-repeat,
    repeat,
    repeat,
    repeat;

  background-position:
    center center,
    center center,
    center top,
    center top,
    center top;

  background-size:
    100% 100%,
    100% 100%,
    1500px auto,
    1500px auto,
    1500px auto;

  background-attachment: scroll;
}

/* ===============================
   ELEMENTOR SAFETY NET
   =============================== */
.elementor,
.elementor-section,
.elementor-column,
.elementor-widget{
  background: transparent !important;
  box-shadow: none !important;
}

/* ===============================
   TYPOGRAPHY SAFETY
   =============================== */
body,
.elementor{
  color: var(--text-color);
}

a{
  color: #8c4a18;
}

/* ===============================
   MOBILE TUNING
   =============================== */
@media (max-width: 768px){
  body{
    background-size:
      100% 100%,
      100% 100%,
      1200px auto,
      1200px auto,
      1200px auto;
  }
}

  

/**********************************************************************
paper style background ends  
***********************************************************************/



/* single product page  */
.shopengine_swatches{
	display:flex;
	justify-content:start;
	gap:10px;
	flex-wrap:wrap;
	}
.shopengine_swatches .swatch.swatch_label{
	color:#212529;
	font-weight:500;
border-radius:4px;
	
    font-size: 16px;
    height: 40px;
    min-width: 40px;
background-color:transparent;
	border:1px solid #C8B6A6;
	margin-right:0;
	
}
.shopengine_swatches .swatch.selected{
	background-color:#D7BDA6;
color:#6D3914;
}
.woocommerce-js div.product form.cart .reset_variations{
	    color: #bb2124;
    opacity: 1;
}
.woocommerce-js div.product form.cart .variations{
	border-bottom:1px solid #C8B6A6;
}
.woocommerce div.product span.price{
	color: #6d3914;
}
.woocommerce-variation-availability .ast-stock-detail .ast-stock-avail{
	color:#212529;
	font-weight:400;
	
}
.woocommerce-js div.product .stock{
	color:#28a745;
}
.woocommerce-js div.product div.images .flex-control-thumbs li{
	padding:5px !important;
	border: 1px solid #C8B6A6;
    border-radius: 4px 4px 4px 4px;
}
:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart.variations_form .woocommerce-variation-add-to-cart{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
}
.woocommerce-js div.product form.cart div.quantity{
	margin:0
}
.woocommerce button.button.alt.disabled.wc-variation-selection-needed{
background-color: #D7BDA6;
    border-color: #D7BDA6;
}
:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart .button:where(:not(:first-child)), :is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart button:where(:not(:first-child)) {
	margin:0;
}

.woocommerce-js div.product div.images{
	margin:0;
}

/* filters  */
/* ---------------- General Filter Styling ---------------- */

/* ---------------- General ---------------- */
/* .filter-section {
  margin-bottom: 20px;
} */
.filter-title {
  font-weight: 500;
  font-size: 16px;
  margin-bottom: 10px;
  color: #000;
  text-transform: uppercase;
}
/* ---------------- Filters Row Layout ---------------- */
.filters-row {
  display: flex;
  /* gap: 16px; */
  align-items: flex-start;
  width: 100%;
}
/* Categories = 80%, Size = 20% (desktop & tablet) */
.filters-main {
  flex: 0 0 80%;
  max-width: 80%;
align-items: center;}
.filters-side {
  flex: 0 0 20%;
  max-width: 20%;
}
/* ---------------- Categories (Horizontal Scroll) ---------------- */
.categories-row {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  padding-bottom: 6px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.category-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: #FFFFFF00;
  font-size:14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  word-spacing: 5px;
  fill: #6D3914;
  color: #6D3914;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #C8B6A6;
  border-radius: 4px 4px 4px 4px;
  padding: 8px 24px 8px 24px;
  transition: all .15s ease;
}
.category-item:hover {
  background: rgb(249, 242, 233);
  color: #800000;
  border-color: #8D7B68;
}
.category-item.active {
  background: #6D3914;
  color: #fff;
  border-color: #6D3914;
}
/* ---------------- Size Dropdown ---------------- */
.size-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 14px;
    background-color: #FFFFFF00;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    /* letter-spacing: 2px; */
    word-spacing: 5px;
    fill: #6D3914;
    color: #6D3914;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #C8B6A6;
    border-radius: 4px 4px 4px 4px;
    padding: 8px 24px 8px 24px;
    line-height: normal;
    
}
.size-toggle .caret {
  transition: transform .15s ease;
}
.size-toggle.open .caret {
  transform: rotate(180deg);
}

/* ---------- Size dropdown should overlay (not affect layout) ---------- */
/* anchor container should be positioned so absolute dropdown anchors correctly */
.size-control { position: relative; z-index: 1; }

/* dropdown overlay — absolutely positioned, scrollable, and high z-index */
.size-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 250px;
  max-width: 350px;

  overflow-y: auto;
 
  border-radius: 10px;
  padding: 10px;
  display: none; /* toggled via .open */
  z-index: 100020;
  -webkit-overflow-scrolling: touch;
  background: rgba(255, 249, 242, 0.96);
backdrop-filter: blur(6px);
}
.size-dropdown.open {
  display: block;
}
/* ---------------- Price number fields (mobile-first clean UI) ---------------- */
.price-range { display:block; }
.fields {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  flex-direction: column;
  align-items: start;
}
.field {
width:100%;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1px solid #C8B6A6;
  padding: 8px 10px;
  border-radius: 8px;
}
.field__label {
  font-size: 14px;
  color: #212529;
  width: 40px;
}
.field__currency {
  color: #212529;
  margin-right: 4px;
}
.field__input {
  border: none;
  outline: none;
  width: 100%;
  font-size: 14px;
  text-align: left;
  background: transparent !important;
  border: 1px solid #C8B6A6 !important;
  color: #000;
  border-radius: 4px;
}

/* ---------------- Radio / Check visuals ---------------- */
/* ===============================
   VINTAGE · ELEGANT RADIO BUTTONS
   =============================== */

   .custom-radio-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  
  /* Radio row */
  .custom-radio {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
    border-radius: 10px;
    cursor: pointer;
    color: #6D3914;
    font-size:14px;
    background: rgba(255, 249, 242, 0.9);
    border: 1px solid rgba(200, 182, 166, 0.25);
    transition: background 0.2s ease, box-shadow 0.2s ease;
    margin:0!important;
  }
  
  .custom-radio:hover {
    background: rgba(255, 249, 242, 1);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.05);
  }
  
  /* Hide native radio */
  .custom-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
  
  /* Custom check container */
  .custom-radio .checkmark {
    position: relative;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    overflow: hidden;
    background: #fff9f2;
    box-shadow: inset 0 0 0 1.5px rgba(160, 130, 110, 0.45);
  }
  
  /* Rotated square (animation layer) */
  .custom-radio .checkmark::before {
    content: "";
    position: absolute;
    width: 60px;
    height: 60px;
    background: #6D3914;
    top: -54px;
    left: -54px;
    transform: rotate(45deg);
    transition: top 0.32s ease, left 0.32s ease;
  }
  
  /* Checked state animation */
  .custom-radio input:checked + .checkmark::before {
    top: -12px;
    left: -12px;
  }
  
  /* Focus ring (keyboard accessibility) */
  .custom-radio input:focus-visible + .checkmark {
    outline: 2px solid rgba(109, 57, 20, 0.4);
    outline-offset: 2px;
  }
  
  /* Text refinement */
  .custom-radio .count {
    color: rgba(109, 57, 20, 0.6);
    font-size: 13px;
    margin-left: 6px;
  }
  
  /* ===============================
     DROPDOWN RADIO VARIANT
     =============================== */
  
  .size-dropdown .custom-radio {
    background: transparent;
    border: none;
    padding: 8px 6px;
    box-shadow: none;
  }
  
  .size-dropdown .custom-radio:hover {
    background: rgba(109, 57, 20, 0.06);
  }
  
  /* ===============================
     MOBILE SAFETY
     =============================== */
  @media (max-width: 768px) {
    .custom-radio {
      font-size: 14px;
      padding: 9px 10px;
      background:transparent;
      border: none;
    }
  
    .custom-radio .checkmark {
      width: 14px;
      height: 14px;
    }
  }
  

/* ---------------- Buttons ---------------- */
.reset-btn {
  display: inline-block;
  border: 1px solid #C8B6A6 !important;
  background-color: transparent;
  color: #212529;
  padding: 6px 16px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 500;
  border: none;
  margin-top: 12px;
  font-size: 14px;
}
.reset-btn:hover { 
    color: #6D3914;
    background-color: #D7BDA6;
    order: 1px solid #D7BDA6 !important;
 }

/* Apply button visible only on mobile */
.apply-filters-mobile {
  display: none; /* hidden by default (desktop) */
  width: 100%;
  margin-top: 16px;
  background-color: #6D3914;
  color: #ffffff;
  padding: 12px;
  border-radius: 10px;
  border: none;
  font-weight: 500;
  font-size: 15px;
  cursor: pointer;
}
.apply-filters-mobile:hover{
    background-color: #800000;
    color:#fff;
}
/* ---------------- Mobile panel (slide from right, smooth) ---------------- */
.filter-toggle-btn {
  display: none;
  background-color: #6D3914;
  color: #ffffff;
  padding: 12px 16px;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  word-spacing: 5px;
  position: fixed;
  z-index: 10000;
  width: 100%;
  bottom: 0;
  left: 0;
  border-radius: 0px;
}
.filter-panel { display: none !important; }

@media (max-width: 768px) {
  .filters-row {
    align-items: center;
  }
  .filters-main {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .filters-side { display: none !important; }
  .filter-toggle-btn { 
    display: inline-block; 
  }
  .filter-panel {
    display: block !important;
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    min-width: 280px;
    height: 100%;
    background: #fff;
    z-index: 99998;
    padding: 20px;
    overflow-y: auto;
    box-shadow: -8px 0 30px rgba(8,18,40,0.12);
    transition: right 360ms cubic-bezier(.2,.9,.3,1);
  }
  .filter-panel.open {
    right: 0;
    z-index: 100010;
    background-color: rgba(255, 249, 242, 1);
  }
  .filter-panel .filter-section { display: none; }
  .filter-panel.open .filter-section { display: block;
  margin-top:20px;
  }
  /* show mobile apply button */
  .apply-filters-mobile {
    display: block;
  }

  /* make reset smaller when mobile */
  .reset-btn { width: 100%; text-align: center; }
}

/* Desktop polish */
@media (min-width: 769px) {
  .fields { gap: 14px; }
  .field { padding: 10px 12px; }
  .custom-radio { padding: 12px; }
}
.image-box .elementor-image-box-wrapper {
    display: flex;
    gap: 10px;
    align-items: start;
flex-direction:row;
}
/* journal page  */
.ast-separate-container #primary{
	margin:0;
}
.ast-separate-container .ast-article-single:not(.ast-related-post){
	background:transparent;
	padding:0;
}
.elementor-posts-container.elementor-has-item-ratio .elementor-post__thumbnail img {
    height: auto;
    left: calc(50% + 1px);
    position: relative;
    top: calc(50% + 1px);
    transform: scale(1.01) translate(-50%, -50%);
    object-fit: contain;
	height: auto;
    width: 100% !important;

}
    .elementor-720 .elementor-element.elementor-element-a7ee85a .elementor-posts-container .elementor-post__thumbnail {
        padding-bottom: 0;
        height: 250px;
        width: 100%;
        display: flex
;
        justify-content: center;
        align-items: center;
    }
.popup-image{
	min-width:100% !important;
}
.popup-image img{
	min-width:100%;
}
.shopengine-comparison.badge{
	display:none;
}
.woocommerce-js ul.products li.product .ast-woo-product-category, .woocommerce-page ul.products li.product .ast-woo-product-category{
	opacity:1;
	color:#212529;
}
/* Do not allow size dropdown to show/affect layout on small screens */
@media (max-width: 768px) {
  .size-dropdown { display: none !important; }
  .size-toggle { cursor: default; } /* non-interactive on mobile (toggle not used) */
}

/* small polish: ensure dropdown doesn't push content */
.size-dropdown .custom-radio { margin: 6px 0; }

/* coupons  */
.wt-single-coupon.minimal_outline .wt_sc_coupon_expiry{
	font-size:14px !important;
}
.wt-single-coupon.minimal_outline .wbte_sc_coupon_desc{
	font-size:14px !important;
}
.wt-single-coupon.minimal_outline .wt_sc_coupon_type{
	font-size:14px !important;
}
.wt-single-coupon.minimal_outline{
	border:none !important;
}
.woocommerce-result-count{
	display:none;
}
.woocommerce-js .woocommerce-ordering select, .woocommerce-page .woocommerce-ordering select{
	    background-color: #FFFFFF00;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    /* letter-spacing: 2px; */
    word-spacing: 5px;
    fill: #6D3914;
    color: #6D3914;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #C8B6A6;
    border-radius: 4px 4px 4px 4px;
    padding: 8px 24px 8px 24px;
    line-height: normal;
}
@media (max-width: 768px) {
  .woocommerce-js .woocommerce-ordering select, .woocommerce-page .woocommerce-ordering select
    { display: none !important; }
    
}
@media (max-width: 544px) {
  .woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering {
      
      margin-bottom: 0;
  }
}

/* remove sale  */

.astra-shop-thumbnail-wrap{
	position: relative;
}
/* hide original badge text but keep it accessible to screen readers */
 .ast-on-card-button.ast-onsale-card {
  
  visibility: hidden;           /* hide original visually */
  display: inline-flex;
 
  padding: 0;                   /* keep layout */
		position:absolute;
	left:10px;
	
	top:20px;
background: rgba(255, 249, 242, 0.96);
    backdrop-filter: blur(6px);
}

/* show our replacement text */
.ast-on-card-button.ast-onsale-card::after{
	 max-width: max-content;
  visibility: visible;
  position: absolute;
  left: 0;
  top: 0;
  content: "Pre-order";         /* text you want to show */
  font-size: 14px;           /* adjust to match design */
  line-height: 1;
  padding: 6px 10px;            /* match your badge spacing */
  border-radius: 3px;
  background: inherit;          /* inherits background (keeps theme look) */
  color: inherit;               /* inherits color */
  white-space: nowrap;
	font-size: 10px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
    word-spacing: 5px;
    fill: #6D3914;
    color: #6D3914;
	line-height:10px;
}

.ast-on-card-button .ahfb-svg-iconset{
	color: #6D3914;
    background: rgba(255, 249, 242, 0.96);
    opacity: 1;
}
.ast-card-action-tooltip{
	background-color: rgba(255, 249, 242, 0.96);
	 text-transform: uppercase;
    letter-spacing: 2px;
    word-spacing: 5px;
    fill: #6D3914;
    color: #6D3914;
	font-size:10px;
}

