/* ================================================
   НАВУШНИКИ-ПРИКРАСИ  v3
   Font: Unbounded
   Palette: Rose Cream
   ================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0;}
html,body,div,span,h1,h2,h3,h4,h5,h6,p,a,img,ul,li,form,input,button,
article,aside,footer,header,section{font:inherit;vertical-align:baseline;}
ol,ul{list-style:none;}
a{text-decoration:none;background:transparent;}
input,button{-webkit-appearance:none;appearance:none;outline:none;}
img{max-width:100%;height:auto;display:block;}
b,strong{font-weight:700;}

/* TOKENS */
:root{
  --rose:        #d4907c;
  --rose-light:  #edd5cc;
  --rose-deep:   #b86a58;
  --rose-pale:   #f8edea;
  --cream:       #fdf8f6;
  --cream-2:     #f6ece8;
  --gold:        #c59a68;
  --text:        #3d2a25;
  --text-mid:    #7a5a52;
  --text-soft:   #b08880;
  --white:       #ffffff;
  --r-sm:        6px;
  --r-md:        14px;
  --r-pill:      50px;
  --sh:          0 4px 20px rgba(180,100,80,.10);
  --sh-card:     0 8px 36px rgba(180,100,80,.14);
}

/* BASE */
html{-webkit-text-size-adjust:none;-webkit-font-smoothing:antialiased;}
body{
  min-width:360px;
  background:var(--cream);
  font-family:'Unbounded',sans-serif;
  font-size:13px;
  line-height:1.6;
  color:var(--text);
}
.main_wrapper{margin:0 auto;width:480px;background:var(--cream);overflow:hidden;}

/* ─── SHARED ─────────────────────── */
.section_label{
  font-size:9px;font-weight:500;letter-spacing:4px;
  text-transform:uppercase;color:var(--rose);
  text-align:center;margin-bottom:6px;
}

.section_title{
  font-size:22px;font-weight:700;line-height:1.15;
  text-align:center;color:var(--text);margin-bottom:24px;
}
.section_title em{font-style:italic;color:var(--rose-deep);font-weight:400;}

/* ─── CTA BUTTON ─────────────────── */
.cta_wrap{padding:0 24px;margin-bottom:16px;}

.cta_btn{
  display:block;width:100%;height:60px;line-height:60px;
  background:linear-gradient(135deg,var(--rose) 0%,var(--rose-deep) 100%);
  border-radius:var(--r-pill);text-align:center;
  font-family:'Unbounded',sans-serif;font-size:11px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--white);
  box-shadow:0 8px 24px rgba(184,106,88,.35);
  transition:transform .25s,box-shadow .25s;cursor:pointer;border:none;
}
.cta_btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(184,106,88,.45);}
.cta_btn:active{transform:translateY(0);}

.cta_btn.outline{
  background:transparent;
  border:2px solid var(--rose);
  color:var(--rose-deep);
  box-shadow:none;
}
.cta_btn.outline:hover{background:var(--rose-pale);box-shadow:none;}

/* ─── PRICE BLOCK ────────────────── */
.price_block_hero{
  display:flex;align-items:center;justify-content:center;
  gap:0;margin:0 24px 24px;
  background:var(--white);
  border:1.5px solid var(--rose-light);
  border-radius:var(--r-md);
  overflow:hidden;
  box-shadow:var(--sh);
}

.price_block_hero.compact{margin-bottom:20px;}

.price_old_wrap,
.price_new_wrap{
  flex:1;padding:16px 10px;text-align:center;
}

.price_old_wrap{
  border-right:1.5px solid var(--rose-light);
  background:var(--cream);
}

.price_new_wrap{
  background:linear-gradient(135deg,#fff5f3 0%,#ffeae5 100%);
}

.price_tag_label{
  display:block;
  font-family:'Unbounded',sans-serif;
  font-size:8px;font-weight:500;
  letter-spacing:2.5px;text-transform:uppercase;
  color:var(--text-soft);margin-bottom:6px;
}
.price_tag_label.accent{color:var(--rose-deep);}

.price_old_val{
  display:flex;align-items:baseline;
  justify-content:center;gap:4px;
}

.strike_through{
  font-family:'Unbounded',sans-serif;
  font-size:22px;font-weight:700;
  color:var(--text-soft);
  text-decoration:line-through;
  text-decoration-color:var(--rose);
  text-decoration-thickness:2px;
  line-height:1;
}

.currency_old{
  font-family:'Unbounded',sans-serif;
  font-size:12px;font-weight:500;
  color:var(--text-soft);
}

.price_new_val{
  display:flex;align-items:baseline;
  justify-content:center;gap:4px;
}

.big_price{
  font-family:'Unbounded',sans-serif;
  font-size:30px;font-weight:800;
  color:var(--rose-deep);line-height:1;
}

.currency_new{
  font-family:'Unbounded',sans-serif;
  font-size:13px;font-weight:600;
  color:var(--rose-deep);
}

.price_arrow{
  font-size:14px;color:var(--rose-light);
  padding:0 4px;flex-shrink:0;
}

/* ─── DISCOUNT RIBBON ────────────── */
.discount_ribbon{
  display:flex;flex-direction:column;align-items:center;
  background:linear-gradient(135deg,var(--rose) 0%,var(--rose-deep) 100%);
  color:var(--white);padding:14px 24px;text-align:center;
  margin:0 0 0;
}

.ribbon_label{
  font-family:'Unbounded',sans-serif;
  font-size:8px;letter-spacing:4px;text-transform:uppercase;
  opacity:.85;margin-bottom:2px;
}

.ribbon_val{
  font-family:'Unbounded',sans-serif;
  font-size:36px;font-weight:800;line-height:1;
  color:var(--white);display:block;
}

.ribbon_sub{
  font-family:'Unbounded',sans-serif;
  font-size:9px;letter-spacing:3px;text-transform:uppercase;
  opacity:.75;margin-top:2px;
}

/* ─── STOCK LINE ─────────────────── */
.stock_line{
  display:flex;align-items:center;justify-content:center;
  gap:7px;font-size:10px;color:var(--text-mid);
  text-align:center;padding:4px 24px 20px;
}
.stock_dot{
  display:inline-block;width:8px;height:8px;
  border-radius:50%;background:var(--rose);flex-shrink:0;
  animation:pulse 1.8s infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.3);}}
.stock_line strong{color:var(--rose-deep);font-weight:700;}

/* ─── BENEFITS ROW ───────────────── */
.benefits_row{
  display:flex;justify-content:center;
  background:var(--white);
  border-top:1px solid var(--rose-light);
  border-bottom:1px solid var(--rose-light);
  padding:20px 10px;margin-bottom:24px;
}
.benefits_row.compact{margin-bottom:16px;}

.benefit_card{
  flex:1;text-align:center;padding:0 5px;
  font-size:9.5px;font-weight:500;color:var(--text);line-height:1.4;
}
.benefit_img_wrap{
  width:66px;height:66px;border-radius:50%;overflow:hidden;
  margin:0 auto 8px;border:2px solid var(--rose-light);
  box-shadow:0 2px 10px rgba(180,100,80,.12);
}
.benefit_img_wrap img{width:100%;height:100%;object-fit:cover;}
.benefit_card p{color:var(--text);}

/* ══════════════════════════════════
   HERO
══════════════════════════════════ */
.hero_section{background:var(--cream);position:relative;}

.brand_bar{
  display:flex;align-items:center;justify-content:center;
  gap:12px;padding:18px 24px 10px;
}
.brand_name{
  font-family:'Unbounded',sans-serif;
  font-size:9px;letter-spacing:3px;text-transform:uppercase;
  color:var(--rose);white-space:nowrap;
}
.brand_line{flex:1;height:1px;background:linear-gradient(to right,transparent,var(--rose-light));}
.brand_bar .brand_line:last-child{background:linear-gradient(to left,transparent,var(--rose-light));}

.hero_title{padding:8px 24px 18px;text-align:center;}
.hero_title h1{
  font-family:'Unbounded',sans-serif;
  font-size:30px;font-weight:800;line-height:1.1;
  color:var(--text);margin-bottom:8px;text-transform:none;
}
.hero_title h1 em{font-style:italic;color:var(--rose-deep);font-weight:400;}
.hero_subtitle{
  font-family:'Unbounded',sans-serif;
  font-size:9px;letter-spacing:4px;
  text-transform:uppercase;color:var(--gold);font-weight:400;
}

/* ─── GALLERY WRAP ───────────────── */
.hero_gallery_wrap{background:#fff;}

/* Головна карусель */
.hero_carousel img{
  width:100%;height:440px;
  object-fit:cover;object-position:center top;
  display:block;
}

/* Стрілки — видимі */
.hero_carousel .owl-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:100%;display:flex;
  justify-content:space-between;pointer-events:none;
  padding:0 10px;
}
.hero_carousel .owl-prev,
.hero_carousel .owl-next{
  pointer-events:all;
  width:42px;height:42px;
  background:rgba(255,255,255,.92) !important;
  border-radius:50% !important;
  display:flex !important;align-items:center;justify-content:center;
  color:var(--rose-deep) !important;
  box-shadow:0 3px 14px rgba(0,0,0,.18);
  transition:background .2s,transform .2s;
  border:1.5px solid var(--rose-light) !important;
  /* !important — перебиваємо owl дефолт */
  margin:0 !important;
}
.hero_carousel .owl-prev:hover,
.hero_carousel .owl-next:hover{
  background:#fff !important;transform:scale(1.08);
}
/* SVG icon color */
.hero_carousel .owl-prev svg,
.hero_carousel .owl-next svg{stroke:var(--rose-deep);}

/* Мініатюри */
.thumb_carousel{
  background:var(--cream-2);
  padding:10px 8px;
  border-top:1px solid var(--rose-light);
}
.thumb_item{
  padding:0 3px;cursor:pointer;
}
.thumb_item img{
  width:100%;height:70px;
  object-fit:cover;border-radius:var(--r-sm);
  border:2px solid transparent;
  transition:border-color .2s,opacity .2s;
  opacity:.7;
}
.thumb_item.active img{
  border-color:var(--rose-deep);
  opacity:1;
}
.thumb_item:hover img{opacity:.9;}

/* ══════════════════════════════════
   TEXT SECTION
══════════════════════════════════ */
.text_section{
  background:var(--cream-2);
  padding:36px 28px 32px;
  border-top:1px solid var(--rose-light);
  border-bottom:1px solid var(--rose-light);
}
.text_block_content p{
  font-size:13px;line-height:1.75;
  color:var(--text);margin-bottom:10px;
}
.features_list{margin-top:18px;}
.features_list li{
  font-size:12px;color:var(--text);
  padding:12px 16px;margin-bottom:8px;
  background:var(--white);border-radius:var(--r-sm);
  border-left:3px solid var(--rose);
  box-shadow:var(--sh);
}

/* ══════════════════════════════════
   GALLERY — ГОРИЗОНТАЛЬНИЙ СКРОЛ
══════════════════════════════════ */
.gallery_section{background:var(--cream);padding:36px 0 28px;}
.gallery_section .section_label,
.gallery_section .section_title{padding:0 24px;}

.hscroll_gallery{
  display:flex;gap:10px;
  overflow-x:auto;overflow-y:hidden;
  padding:0 24px 12px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--rose-light) transparent;
}
.hscroll_gallery::-webkit-scrollbar{height:4px;}
.hscroll_gallery::-webkit-scrollbar-track{background:transparent;}
.hscroll_gallery::-webkit-scrollbar-thumb{background:var(--rose-light);border-radius:2px;}

.hscroll_gallery img{
  flex-shrink:0;
  width:200px;height:200px;
  object-fit:cover;border-radius:var(--r-md);
  scroll-snap-align:start;
  box-shadow:var(--sh-card);
  transition:transform .25s;
}
.hscroll_gallery img:hover{transform:scale(1.03);}

.gallery_hint{
  text-align:center;font-size:9px;
  letter-spacing:3px;text-transform:uppercase;
  color:var(--text-soft);padding:0 24px 20px;
}

.catalog_price_block{padding:0;}

/* ══════════════════════════════════
   PROMO IMAGE
══════════════════════════════════ */
.promo_image_block{overflow:hidden;}
.promo_image_block img{
  width:100%;max-height:400px;
  object-fit:cover;object-position:center;
}

/* ══════════════════════════════════
   REVIEWS
══════════════════════════════════ */
.reviews_section{
  background:var(--rose-pale);
  padding:36px 0 32px;
}
.reviews_section .section_label,
.reviews_section .section_title{padding:0 24px;}

.reviews_carousel{padding:0 4px;}

.review_card{
  background:var(--white);border-radius:var(--r-md);
  padding:22px 20px;margin:0 12px 4px;
  box-shadow:var(--sh-card);
}

.review_top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}

.review_avatar{
  width:48px;height:48px;border-radius:50%;overflow:hidden;
  flex-shrink:0;border:2px solid var(--rose-light);
}
.review_avatar img{width:100%;height:100%;object-fit:cover;}

.review_person{flex:1;}
.review_person strong{
  display:block;font-size:11px;font-weight:700;
  color:var(--text);margin-bottom:2px;
}
.review_person span{font-size:10px;color:var(--text-soft);}

.review_meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;}
.stars{display:flex;gap:2px;}
.stars img{
  width:13px;height:13px;
  filter:sepia(1) hue-rotate(330deg) saturate(2.5) brightness(1.1);
}
.review_date{font-size:10px;color:var(--text-soft);}

.review_text{font-size:12px;line-height:1.7;color:var(--text-mid);}

/* Стрілки відгуків — видимі */
.reviews_carousel .owl-nav{
  display:flex;justify-content:center;gap:12px;
  margin-top:18px;padding:0 16px;
}
.reviews_carousel .owl-prev,
.reviews_carousel .owl-next{
  width:42px;height:42px;
  background:var(--white) !important;
  border:1.5px solid var(--rose) !important;
  border-radius:50% !important;
  color:var(--rose-deep) !important;
  display:flex !important;align-items:center;justify-content:center;
  box-shadow:var(--sh);
  transition:background .2s;
  cursor:pointer;
}
.reviews_carousel .owl-prev:hover,
.reviews_carousel .owl-next:hover{background:var(--rose-pale) !important;}
.reviews_carousel .owl-prev svg,
.reviews_carousel .owl-next svg{stroke:var(--rose-deep);}

.reviews_carousel .owl-dots{text-align:center;margin-top:14px;}
.reviews_carousel .owl-dot span{
  width:7px;height:7px;
  background:var(--rose-light) !important;
  border-radius:50%;margin:0 3px;
  transition:background .2s;
}
.reviews_carousel .owl-dot.active span{background:var(--rose-deep) !important;}

/* ══════════════════════════════════
   DELIVERY
══════════════════════════════════ */
.delivery_section{
  background:var(--cream-2);padding:36px 24px;
  border-top:1px solid var(--rose-light);
  border-bottom:1px solid var(--rose-light);
}
.delivery_items{display:flex;flex-direction:column;gap:14px;}
.delivery_item{
  display:flex;align-items:center;gap:16px;
  background:var(--white);border-radius:var(--r-md);
  padding:16px;box-shadow:var(--sh);
  border:1px solid var(--rose-light);
}
.delivery_icon{
  width:56px;height:56px;flex-shrink:0;border-radius:50%;
  background-color:var(--rose-pale);
  background-position:center;background-repeat:no-repeat;background-size:34px;
  border:1px solid var(--rose-light);
}
.delivery_item p{font-size:12px;line-height:1.55;color:var(--text);}
.delivery_item strong{color:var(--rose-deep);}

/* ══════════════════════════════════
   ORDER SECTION
══════════════════════════════════ */
.order_section{background:var(--cream);}

.order_hero_img{
  height:360px;
  background-size:cover;background-position:center top;
  position:relative;display:flex;
  align-items:flex-start;justify-content:flex-end;padding:20px;
}
.order_hero_badge{
  background:linear-gradient(135deg,var(--rose) 0%,var(--rose-deep) 100%);
  color:var(--white);font-family:'Unbounded',sans-serif;
  font-size:28px;font-weight:800;
  padding:10px 18px;border-radius:var(--r-md);
  box-shadow:0 4px 20px rgba(184,106,88,.4);
}

.order_body{padding:28px 0 8px;}

.order_subtitle{
  font-size:9px;letter-spacing:4px;text-transform:uppercase;
  color:var(--gold);text-align:center;
  margin-top:-16px;margin-bottom:24px;
}

.form_field{padding:0 24px;margin-bottom:12px;}
.form_field input{
  display:block;width:100%;height:56px;padding:0 18px;
  background:var(--white);
  border:1.5px solid var(--rose-light);
  border-radius:var(--r-md);
  font-family:'Unbounded',sans-serif;font-size:11px;
  color:var(--text);
  transition:border-color .2s,box-shadow .2s;
  box-shadow:0 2px 8px rgba(180,100,80,.06);
}
.form_field input::placeholder{color:var(--text-soft);}
.form_field input:focus{
  border-color:var(--rose);
  box-shadow:0 4px 16px rgba(180,100,80,.14);
  outline:none;
}

/* ══════════════════════════════════
   FOOTER
══════════════════════════════════ */
.site_footer{
  background:var(--cream-2);border-top:1px solid var(--rose-light);
  padding:22px 24px;text-align:center;font-size:10px;
  display:flex;justify-content:center;align-items:center;gap:14px;
}
.site_footer a{color:var(--text-soft);letter-spacing:.5px;transition:color .2s;}
.site_footer a:hover{color:var(--rose-deep);}
.footer_dot{color:var(--rose-light);}

/* UTILS */
.errField{
  display:none;font-size:12px;
  background:var(--rose-deep);color:var(--white);
  text-align:center;padding:10px 16px;
  margin:0 24px 12px;border-radius:var(--r-sm);
}
.errorMessage{
  font-size:10px;background:rgba(180,80,60,.85);color:#fff;
  text-align:center;padding:5px 10px;
  position:absolute;margin:38px 0 0;z-index:9999;border-radius:4px;
}
select{
  background-image:url(../images/select.png);
  background-repeat:no-repeat;background-position:92% center;background-size:22px;
  -webkit-appearance:none;appearance:none;
}
.clearfix::after{content:"";display:block;clear:both;}
