/* =========================================
  DOE - SOFT FLORAL LUXURY
  CLEAN MOBILE VERSION
  ========================================= */
:root{
 --doe-bg: #fbf7f4;
 --doe-bg-soft: #f7efeb;
 --doe-card: #ffffff;
 --doe-text: #493b37;
 --doe-muted: #8d7d77;
 --doe-border: #eee2dd;
 --doe-pink: #eed6d3;
 --doe-pink-dark: #d9b7b2;
 --doe-rose: #b98b8f;
 --doe-gold: #b58b4d;
 --doe-footer: #eed6d3;
}

/* =========================================
  PAGE
  ========================================= */
html,
body{
 overflow-x: hidden !important;
}
body{
 background:
   linear-gradient(
     180deg,
     #fffaf8 0%,
     var(--doe-bg) 40%,
     var(--doe-bg-soft) 100%
   ) !important;
 color: var(--doe-text) !important;
}

/* =========================================
  SOFT FLORAL BACKGROUND
  ========================================= */
body::before{
 content: "✿";
 position: fixed;
 top: 420px;
 left: -25px;
 font-size: 160px;
 line-height: 1;
 color: rgba(185,139,143,.07);
 transform: rotate(-20deg);
 pointer-events: none;
 z-index: 0;
}

body::after{
 content: "❀";
 position: fixed;
 bottom: 80px;
 right: -20px;
 font-size: 130px;
 line-height: 1;
 color: rgba(216,183,178,.06);
 transform: rotate(18deg);
 pointer-events: none;
 z-index: 0;
}

/* =========================================
  CONTENT ABOVE BACKGROUND
  ========================================= */
body > *{
 position: relative;
 z-index: 1;
}

/* =========================================
  HEADER
  ========================================= */
header,
.main-header,
.store-header{
 background:
   rgba(255,255,255,.96) !important;
 border-bottom:
   1px solid rgba(238,226,221,.9) !important;
 box-shadow:
   0 5px 20px rgba(76,56,50,.04) !important;
}

/* small decorative band */
header::after,
.main-header::after,
.store-header::after{
 content: "";
 display: block;
 width: 100%;
 height: 7px;
 background:
   linear-gradient(
     90deg,
     #eed6d3 0%,
     #e5c8c4 25%,
     #f8ebe7 50%,
     #e5c8c4 75%,
     #eed6d3 100%
   );
 opacity: .85;
}

header a,
.main-header a,
.store-header a{
 color: var(--doe-text) !important;
}

/* =========================================
  SEARCH
  ========================================= */
input[type="search"],
.search-input,
.s-search-input{
 background: #fff !important;
 border:
   1px solid var(--doe-border) !important;
 border-radius:
   999px !important;
 color:
   var(--doe-text) !important;
}

/* =========================================
  SECTION SPACING
  ========================================= */
section,
.s-block{
 margin-top:
   18px !important;
 margin-bottom:
   18px !important;
}

/* =========================================
  TITLES
  ========================================= */
h1,
h2,
h3,
.section-title,
.s-block__title{
 color:
   var(--doe-text) !important;
}

.s-block__title,
.section-title{
 font-weight:
   600 !important;
 font-size:
   22px !important;
 position:
   relative;
 padding-bottom:
   8px;
}

/* underline */
.s-block__title::after,
.section-title::after{
 content: "";
 position:
   absolute;
 bottom:
   0;
 right:
   0;
 width:
   55px;
 height:
   2px;
 border-radius:
   20px;
 background:
   var(--doe-rose);
}

/* =========================================
  PRODUCT CARD
  ========================================= */
.product-entry,
.product-card,
.s-product-card-entry,
.s-product-card-vertical{
 background:
   var(--doe-card) !important;
 border:
   1px solid var(--doe-border) !important;
 border-radius:
   20px !important;
 overflow:
   hidden !important;
 box-shadow:
   0 5px 18px rgba(71,53,47,.05) !important;
 transition:
   all .25s ease !important;
}

/* hover */
.product-entry:hover,
.product-card:hover,
.s-product-card-entry:hover{
 transform:
   translateY(-3px);
 box-shadow:
   0 10px 24px rgba(71,53,47,.08) !important;
}

/* =========================================
  PRODUCT IMAGE
  ========================================= */
.product-entry img,
.product-card img,
.s-product-card-entry img{
 width:
   100% !important;
 object-fit:
   cover !important;
 border-radius:
   0 !important;
}

/* =========================================
  PRODUCT CONTENT
  ========================================= */
.product-entry .product-entry__content,
.product-card-content,
.s-product-card-content{
 padding:
   12px !important;
}

/* product name */
.product-entry h3,
.product-card h3,
.s-product-card-entry h3,
.s-product-card-content-title{
 color:
   var(--doe-text) !important;
 font-size:
   14px !important;
 line-height:
   1.55 !important;
 font-weight:
   600 !important;
 margin:
   3px 0 7px !important;
}

/* description */
.product-entry p,
.product-card p,
.s-product-card-entry p{
 color:
   var(--doe-muted) !important;
 font-size:
   11px !important;
 line-height:
   1.5 !important;
}

/* =========================================
  PRICE
  ========================================= */
.product-entry .price,
.product-card .price,
.s-product-card-price{
 color:
   var(--doe-gold) !important;
 font-size:
   15px !important;
 font-weight:
   700 !important;
}

/* =========================================
  ADD TO CART
  ========================================= */
.s-button-primary,
button.add-to-cart,
.add-to-cart,
.product-entry button,
.s-product-card-entry button{
 background:
   var(--doe-pink) !important;
 color:
   var(--doe-text) !important;
 border:
   0 !important;
 border-radius:
   999px !important;
 box-shadow:
   none !important;
 min-height:
   40px !important;
 font-weight:
   500 !important;
 transition:
   .2s ease !important;
}

.s-button-primary:hover,
button.add-to-cart:hover,
.add-to-cart:hover{
 background:
   var(--doe-pink-dark) !important;
 color:
   #ffffff !important;
}

/* =========================================
  BADGES
  ========================================= */
.badge,
.product-badge,
.s-product-card-promotion-title{
 background:
   #f5e7e3 !important;
 color:
   #8c6568 !important;
 border:
   none !important;
 border-radius:
   50px !important;
}

/* =========================================
  CATEGORIES
  ========================================= */
.category-entry,
.category-card,
.s-block--categories a{
 overflow:
   hidden !important;
 border-radius:
   18px !important;
}

/* =========================================
  FOOTER
  ========================================= */
footer,
.store-footer{
 background:
   #eed6d3 !important;
 color:
   var(--doe-text) !important;
 border-top:
   none !important;
}

footer a,
.store-footer a{
 color:
   var(--doe-text) !important;
}

/* =========================================
  MOBILE
  ========================================= */
@media (max-width: 768px){

 /* floral elements */
 body::before{
   top:
     460px;
   left:
     -20px;
   font-size:
     105px;
   opacity:
     .7;
 }

 body::after{
   font-size:
     90px;
   opacity:
     .7;
 }

 /* sections */
 section,
 .s-block{
   margin-top:
     14px !important;
   margin-bottom:
     14px !important;
 }

 /* titles */
 .s-block__title,
 .section-title{
   font-size:
     19px !important;
   margin-bottom:
     12px !important;
 }

 /* =====================================
    IMPORTANT:
    PRODUCT CONTAINER
    ===================================== */
 .s-block--products .container,
 .s-products-list,
 .products-grid,
 .product-grid{
   width:
     100% !important;
   max-width:
     100% !important;
   padding-left:
     12px !important;
   padding-right:
     12px !important;
 }

 /* actual grid */
 .s-block--products .grid,
 .products-grid,
 .product-grid{
   display:
     grid !important;
   grid-template-columns:
     repeat(2, 1fr) !important;
   gap:
     12px !important;
   width:
     100% !important;
 }

 /* =====================================
    PRODUCT CARD
    ===================================== */
 .product-entry,
 .product-card,
 .s-product-card-entry,
 .s-product-card-vertical{
   width:
     100% !important;
   max-width:
     none !important;
   min-width:
     0 !important;
   margin:
     0 !important;
   border-radius:
     17px !important;
 }

 /* image */
 .product-entry img,
 .product-card img,
 .s-product-card-entry img{
   width:
     100% !important;
   height:
     auto !important;
   aspect-ratio:
     1 / 1.18 !important;
   object-fit:
     cover !important;
 }

 /* content */
 .product-entry .product-entry__content,
 .product-card-content,
 .s-product-card-content{
   padding:
     10px !important;
 }

 /* product name */
 .product-entry h3,
 .product-card h3,
 .s-product-card-entry h3,
 .s-product-card-content-title{
   font-size:
     13px !important;
   line-height:
     1.45 !important;
   min-height:
     38px !important;
   margin:
     4px 0 5px !important;
   display:
     -webkit-box !important;
   -webkit-line-clamp:
     2 !important;
   -webkit-box-orient:
     vertical !important;
   overflow:
     hidden !important;
 }

 /* hide description mobile */
 .product-entry p,
 .product-card p,
 .s-product-card-entry p{
   display:
     none !important;
 }

 /* price */
 .product-entry .price,
 .product-card .price,
 .s-product-card-price{
   font-size:
     14px !important;
   margin-top:
     3px !important;
   margin-bottom:
     8px !important;
 }

 /* button */
 .s-button-primary,
 button.add-to-cart,
 .add-to-cart,
 .product-entry button,
 .s-product-card-entry button{
   width:
     100% !important;
   min-height:
     36px !important;
   height:
     36px !important;
   padding:
     4px 8px !important;
   font-size:
     11px !important;
   border-radius:
     999px !important;
 }
}

/* =========================================
  EXTRA SMALL PHONES
  ========================================= */
@media (max-width: 390px){
 .s-block--products .grid,
 .products-grid,
 .product-grid{
   gap:
     9px !important;
 }

 .product-entry .product-entry__content,
 .product-card-content,
 .s-product-card-content{
   padding:
     8px !important;
 }

 .product-entry h3,
 .product-card h3,
 .s-product-card-entry h3,
 .s-product-card-content-title{
   font-size:
     12px !important;
 }

 .product-entry .price,
 .product-card .price,
 .s-product-card-price{
   font-size:
     13px !important;
 }
}