/* AH Matcha unified style.css */
/* Use in all pages: <link rel="stylesheet" href="style.css"> */

:root{
  --cream:#fffaf4;
  --soft:#f7f1eb;
  --pink:#f4dfe4;
  --rose:#e8bcc6;
  --gold:#c7a97b;
  --sage:#8e9775;
  --dark:#4b4b42;
  --white:#ffffff;
  --line:rgba(199,169,123,.15);
  --line-strong:rgba(199,169,123,.22);
  --text-soft:rgba(75,75,66,.68);
  --shadow:0 24px 70px rgba(75,75,66,.10);
  --radius-pill:999px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:Inter,system-ui,sans-serif;
  background:var(--cream);
  color:var(--dark);
  overflow-x:hidden;
}
button,input,textarea{font-family:Inter,system-ui,sans-serif}
button{cursor:pointer}
body.ar{direction:rtl}
body.ar nav,
body.ar .nav-actions,
body.ar .links,
body.ar .filters,
body.ar .drawer{direction:ltr}

/* NAVBAR */
nav{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  z-index:50;
  width:min(1120px,calc(100% - 40px));
  min-height:74px;
  border-radius:var(--radius-pill);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:9px 22px;
  background:rgba(255,250,244,.84);
  border:1px solid var(--line);
  backdrop-filter:blur(22px);
  box-shadow:var(--shadow);
  animation:navDrop .9s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes navDrop{
  from{opacity:0;transform:translateX(-50%) translateY(-24px)}
  to{opacity:1;transform:translateX(-50%) translateY(0)}
}

.brand,
.logo{
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
  color:var(--dark);
}

.brand img,
.logo-img{
  width:54px;
  height:54px;
  object-fit:contain;
  background:transparent;
}

.logo{
  font-family:Georgia,serif;
  font-weight:900;
  font-size:1.35rem;
}

.logo span,
.logo em,
.brand em{
  color:var(--sage);
  font-style:italic;
}

.links{
  display:flex;
  gap:30px;
  align-items:center;
}

.links a{
  text-decoration:none;
  color:var(--text-soft);
  font-size:.76rem;
  letter-spacing:.18em;
  font-weight:900;
  text-transform:uppercase;
}

.nav-actions{
  display:flex;
  gap:10px;
  align-items:center;
}

/* BUTTONS */
.nav-btn,
.btn,
.send,
.add{
  border:0;
  border-radius:var(--radius-pill);
  background:linear-gradient(135deg,#cbb79d,#e8d8c7);
  color:var(--dark);
  font-weight:950;
  cursor:pointer;
  letter-spacing:.08em;
  box-shadow:0 14px 34px rgba(199,169,123,.18);
  transition:.25s ease;
}

.nav-btn{padding:13px 22px}

.btn{
  margin-top:30px;
  display:inline-flex;
  text-decoration:none;
  padding:16px 30px;
  animation:fadeUp 1s .5s both;
}

.send{
  margin-top:auto;
  padding:16px;
  font-size:.8rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.add{
  padding:10px 16px;
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.nav-btn:hover,
.btn:hover,
.send:hover,
.add:hover{
  transform:translateY(-2px);
}

.lang-switch,
.lang{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:8px;
  border-radius:var(--radius-pill);
  background:linear-gradient(135deg,#fff,#f8e8ee);
  color:var(--dark);
  border:1px solid rgba(215,155,170,.20);
  padding:11px 16px;
  box-shadow:0 12px 28px rgba(215,155,170,.10);
  font-weight:900;
}

.lang-switch:before,
.lang:before{
  content:"";
  position:absolute;
  inset:-60%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.85),transparent);
  transform:translateX(-70%) rotate(18deg);
  transition:.8s;
}

.lang-switch:hover:before,
.lang:hover:before{transform:translateX(70%) rotate(18deg)}

.lang-dot,
.lang-label{position:relative;z-index:1}

.lang-dot{
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#cbb79d,#e8d8c7);
  color:var(--dark);
  font-size:.72rem;
}

.back,
.pdf{
  border:1.5px solid var(--line);
  border-radius:var(--radius-pill);
  padding:11px 20px;
  background:rgba(255,255,255,.35);
  color:var(--dark);
  font-size:.72rem;
  letter-spacing:.12em;
  font-weight:900;
  cursor:pointer;
}

/* INDEX HERO */
.hero{
  min-height:120vh;
  display:grid;
  place-items:center;
  text-align:center;
  background:
    radial-gradient(circle at 18% 14%,rgba(244,223,228,.92),transparent 28%),
    radial-gradient(circle at 92% 18%,rgba(232,216,199,.72),transparent 27%),
    linear-gradient(115deg,#fffaf4 0%,#f4dfe4 52%,#f7f1eb 100%);
  position:relative;
  overflow:hidden;
  padding:5px 22px 80px;
}

.hero-inner{
  position:relative;
  z-index:4;
  will-change:transform,opacity;
  transition:transform .15s linear,opacity .15s linear,filter .15s linear;
}

.hero-logo,
.hero > img{
  width:min(350px,62vw);
  height:min(350px,62vw);
  object-fit:contain;
  background:transparent;
  filter:drop-shadow(0 28px 38px rgba(75,75,66,.10));
  margin-bottom:6px;
  animation:logoFloat 5s ease-in-out infinite,logoIn 1.1s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes logoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}

@keyframes logoIn{
  from{opacity:0;transform:scale(.9) translateY(20px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}

.hero-title,
.hero h1{
  font-family:Georgia,serif;
  font-size:clamp(4.4rem,12vw,11rem);
  line-height:.78;
  letter-spacing:-.07em;
  animation:titleIn 1.25s .12s cubic-bezier(.2,.8,.2,1) both;
}

.hero-title span,
.hero h1 span,
.hero em{
  color:var(--sage);
  font-style:italic;
}

@keyframes titleIn{
  from{opacity:0;transform:translateY(38px) scale(.96);filter:blur(8px)}
  to{opacity:1;transform:none;filter:none}
}

.hero p{
  margin:26px auto 0;
  max-width:680px;
  font-size:1.05rem;
  line-height:1.8;
  color:rgba(75,75,66,.72);
  animation:fadeUp 1s .32s both;
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:none}
}

/* HERO DECORATION */
.leaves{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  overflow:hidden;
}

.leaf{
  position:absolute;
  top:-90px;
  width:38px;
  height:22px;
  border-radius:100% 0 100% 0;
  background:linear-gradient(135deg,#b9a68c,#d9c8b3);
  box-shadow:0 8px 16px rgba(75,75,66,.08);
  opacity:.6;
  animation:fall linear infinite;
}

.leaf:after{
  content:"";
  position:absolute;
  left:5px;
  top:10px;
  width:28px;
  height:1px;
  background:rgba(75,75,66,.25);
  transform:rotate(-18deg);
}

.leaf:nth-child(1){left:8%;animation-duration:12s;animation-delay:-4s;transform:scale(.75)}
.leaf:nth-child(2){left:18%;animation-duration:15s;animation-delay:-10s;transform:scale(.55)}
.leaf:nth-child(3){left:34%;animation-duration:13s;animation-delay:-7s;transform:scale(.68)}
.leaf:nth-child(4){left:52%;animation-duration:16s;animation-delay:-12s;transform:scale(.5)}
.leaf:nth-child(5){left:68%;animation-duration:14s;animation-delay:-6s;transform:scale(.72)}
.leaf:nth-child(6){left:82%;animation-duration:17s;animation-delay:-9s;transform:scale(.58)}
.leaf:nth-child(7){left:92%;animation-duration:12s;animation-delay:-3s;transform:scale(.66)}

@keyframes fall{
  0%{translate:0 -10vh;rotate:0deg;opacity:0}
  12%{opacity:.55}
  50%{translate:28px 55vh;rotate:160deg}
  100%{translate:-18px 118vh;rotate:330deg;opacity:0}
}

.orb{
  position:absolute;
  border-radius:50%;
  filter:blur(2px);
  opacity:.42;
  z-index:1;
}

.orb.one{
  width:360px;
  height:360px;
  background:var(--pink);
  left:-120px;
  top:130px;
  animation:pulse 7s ease-in-out infinite;
}

.orb.two{
  width:280px;
  height:280px;
  background:var(--soft);
  right:-80px;
  bottom:140px;
  animation:pulse 8s ease-in-out infinite reverse;
}

@keyframes pulse{50%{transform:scale(1.12);opacity:.65}}

.marquee{
  position:absolute;
  bottom:18px;
  width:100%;
  white-space:nowrap;
  overflow:hidden;
  font-family:Georgia,serif;
  font-size:4rem;
  font-weight:900;
  letter-spacing:-.08em;
  color:rgba(75,75,66,.08);
  z-index:3;
}

.marquee span{display:inline-block;animation:m 24s linear infinite}
@keyframes m{to{transform:translateX(-50%)}}

/* INDEX SECTIONS */
.reveal{
  opacity:0;
  transform:translateY(36px);
  transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);
}

.reveal.show{opacity:1;transform:translateY(0)}

section.light{
  background:var(--cream);
  color:var(--dark);
  padding:110px 24px;
  text-align:center;
  position:relative;
  overflow:hidden;
}

section.light h2{
  font-family:Georgia,serif;
  font-size:clamp(3rem,7vw,6rem);
  line-height:.9;
  letter-spacing:-.06em;
}

section.light em{color:var(--sage)}

section.light p{
  max-width:680px;
  margin:22px auto 0;
  line-height:1.9;
  color:rgba(75,75,66,.65);
}

.cards{
  max-width:1050px;
  margin:46px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.card{
  background:var(--white);
  border-radius:30px;
  padding:34px;
  box-shadow:0 28px 80px rgba(75,75,66,.10);
  text-align:left;
  transition:.35s ease;
}

.card:hover{
  transform:translateY(-8px) rotate(.4deg);
  box-shadow:0 34px 90px rgba(75,75,66,.14);
}

.card h3{
  font-family:Georgia,serif;
  font-size:2rem;
  margin-bottom:12px;
}

/* SHOP PAGE */
body.shop-page{
  background:var(--cream);
  min-height:100vh;
}

body.shop-page .hero{
  min-height:auto;
  padding:150px 24px 76px;
}

body.shop-page .hero > img{
  width:210px;
  height:210px;
}

body.shop-page .hero h1{
  font-size:clamp(3rem,7vw,6rem);
  line-height:.86;
}

.cart{
  display:flex;
  gap:9px;
  align-items:center;
  border:0;
  border-radius:var(--radius-pill);
  padding:12px 18px;
  background:linear-gradient(135deg,#cbb79d,#e8d8c7);
  color:var(--dark);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:900;
  box-shadow:0 14px 34px rgba(199,169,123,.18);
}

.badge{
  background:var(--white);
  color:var(--dark);
  min-width:21px;
  height:21px;
  border-radius:50%;
  display:grid;
  place-items:center;
  padding:0 5px;
}

.menu-btn{
  display:none;
  border:1px solid var(--line);
  background:rgba(255,255,255,.72);
  border-radius:var(--radius-pill);
  padding:11px 13px;
  font-size:1.1rem;
  color:var(--dark);
  box-shadow:0 10px 22px rgba(75,75,66,.08);
}

.drawer-backdrop{
  position:fixed;
  inset:0;
  background:rgba(75,75,66,.25);
  z-index:49;
  opacity:0;
  pointer-events:none;
  transition:.25s;
}

.drawer-backdrop.show{
  opacity:1;
  pointer-events:auto;
}

.drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(340px,86vw);
  height:100vh;
  z-index:50;
  background:rgba(255,250,244,.96);
  backdrop-filter:blur(22px);
  border-left:1px solid var(--line);
  box-shadow:-20px 0 70px rgba(75,75,66,.18);
  padding:24px;
  transform:translateX(105%);
  transition:.32s cubic-bezier(.2,.8,.2,1);
}

.drawer.show{transform:translateX(0)}

.drawer-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:22px;
}

.drawer a,
.drawer button{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-decoration:none;
  border:0;
  background:var(--white);
  color:var(--dark);
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:16px 18px;
  border-radius:18px;
  margin-bottom:10px;
  box-shadow:0 8px 24px rgba(75,75,66,.07);
}

.filters{
  position:sticky;
  top:88px;
  z-index:9;
  background:rgba(255,250,244,.94);
  backdrop-filter:blur(14px);
  display:flex;
  overflow:auto;
  border-bottom:1px solid var(--line);
  scrollbar-width:none;
}

.filters::-webkit-scrollbar{display:none}

.filters button{
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:900;
  padding:18px 24px;
  border:0;
  background:transparent;
  color:rgba(75,75,66,.45);
  white-space:nowrap;
}

.filters button.on{
  color:var(--dark);
  box-shadow:inset 0 -3px var(--rose);
}

.menu{
  position:relative;
  z-index:1;
  padding:56px 60px;
  max-width:1220px;
  margin:0 auto;
}

.cat{margin-bottom:58px}

.cat-title{
  font-size:.72rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:950;
  color:rgba(75,75,66,.45);
  margin-bottom:22px;
  display:flex;
  gap:14px;
  align-items:center;
}

.cat-title:after{
  content:"";
  height:1px;
  background:var(--line);
  flex:1;
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
  gap:18px;
}

body.shop-page .card{
  background:var(--white);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 8px 34px rgba(75,75,66,.09);
  transition:.3s;
  border:1px solid rgba(255,255,255,.8);
  animation:softIn .7s ease both;
  padding:0;
  text-align:initial;
}

body.shop-page .card:hover{
  transform:translateY(-7px);
  box-shadow:0 22px 60px rgba(75,75,66,.14);
}

.card.sold{opacity:.55}

.img{
  height:230px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#fffaf4,#f7f1eb);
  display:grid;
  place-items:center;
}

.img img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:12px;
  transition:.45s;
}

.card:hover .img img{transform:scale(1.04)}

.tag,
.soldtag{
  position:absolute;
  top:12px;
  border-radius:var(--radius-pill);
  padding:5px 11px;
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:950;
  color:#fff;
}

.tag{left:12px;background:var(--rose)}
.soldtag{right:12px;background:#d75b67}

.body{padding:20px}
body.ar .body{text-align:right}

.name{
  font-size:1.2rem;
  font-weight:900;
  margin-bottom:6px;
}

.desc{
  font-size:.85rem;
  color:rgba(75,75,66,.58);
  line-height:1.6;
  margin-bottom:14px;
}

.opt{margin-bottom:12px}

.opt-label{
  font-size:.66rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:900;
  color:rgba(75,75,66,.43);
  margin-bottom:7px;
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
}

.req{color:#d75b67;font-weight:950}

.pills{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.pill{
  border:1.5px solid var(--line);
  border-radius:var(--radius-pill);
  padding:7px 12px;
  background:transparent;
  color:rgba(75,75,66,.68);
  font-size:.74rem;
  font-weight:850;
  transition:.2s;
}

.pill:hover{
  transform:translateY(-1px);
  border-color:var(--rose);
}

.pill.on{
  border-color:var(--rose);
  background:rgba(244,223,228,.55);
  color:var(--dark);
  box-shadow:0 8px 20px rgba(75,75,66,.08);
}

.foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
}

.price{
  font-size:1.2rem;
  font-weight:900;
  color:var(--sage);
}

.toast{
  position:fixed;
  bottom:28px;
  left:50%;
  transform:translateX(-50%) translateY(20px);
  background:var(--dark);
  color:#fff;
  border-radius:var(--radius-pill);
  padding:13px 24px;
  font-weight:800;
  opacity:0;
  transition:.3s;
  z-index:60;
}

.toast.show{
  opacity:1;
  transform:translateX(-50%);
}

.page-leaves{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}

.page-leaves i{
  position:absolute;
  top:-70px;
  width:30px;
  height:18px;
  border-radius:100% 0 100% 0;
  background:linear-gradient(135deg,#b9a68c,#d9c8b3);
  opacity:.42;
  animation:fall 14s linear infinite;
}

.page-leaves i:nth-child(1){left:12%;animation-delay:-2s}
.page-leaves i:nth-child(2){left:42%;animation-delay:-8s}
.page-leaves i:nth-child(3){left:72%;animation-delay:-5s}
.page-leaves i:nth-child(4){left:88%;animation-delay:-11s}

/* CART PAGE */
body.cart-page{
  font-family:Georgia,serif;
  background:
    radial-gradient(circle at 12% 8%,rgba(244,223,228,.35),transparent 25%),
    radial-gradient(circle at 90% 12%,rgba(232,216,199,.35),transparent 24%),
    linear-gradient(135deg,#fffaf4,#f7f1eb 58%,#f4dfe4);
  min-height:100vh;
}

.cart-page .page{
  display:grid;
  grid-template-columns:1fr 410px;
  min-height:100vh;
  padding-top:104px;
  max-width:1180px;
  margin:0 auto;
}

.cart-page .left{
  padding:56px;
  border-right:1px solid rgba(75,75,66,.08);
}

.cart-page .right{
  padding:56px 44px;
  background:linear-gradient(170deg,#fffaf4,#f7f1eb);
  display:flex;
  flex-direction:column;
}

.tag{
  font-size:.72rem;
  letter-spacing:.44em;
  text-transform:uppercase;
  font-weight:900;
  color:rgba(75,75,66,.42);
  margin-bottom:8px;
}

.h{
  font-family:Georgia,serif;
  font-size:clamp(2.4rem,5vw,4rem);
  line-height:.88;
  margin-bottom:8px;
}

.h em{
  color:var(--sage);
  font-style:italic;
}

.items{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:30px;
}

.item{
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:14px;
  box-shadow:0 2px 12px rgba(75,75,66,.04);
  animation:softIn .65s ease both;
}

.item img,
.em{
  width:54px;
  height:54px;
  border-radius:12px;
  object-fit:cover;
  background:#f7f1eb;
  display:grid;
  place-items:center;
  font-size:30px;
}

.info{flex:1}

.unit{
  font-size:.76rem;
  color:rgba(75,75,66,.48);
}

.ctrl{
  display:flex;
  gap:10px;
  align-items:center;
}

.ctrl button{
  width:28px;
  height:28px;
  border-radius:50%;
  border:1.5px solid var(--line);
  background:transparent;
}

.item .price{
  min-width:62px;
  text-align:right;
}

.rm{
  border:0;
  background:transparent;
  color:rgba(75,75,66,.35);
  font-size:1.1rem;
}

.note{
  margin-top:20px;
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
}

.note textarea{
  width:100%;
  border:1.5px solid var(--line);
  border-radius:12px;
  padding:12px;
  background:var(--cream);
  height:86px;
  resize:none;
}

.summary h2{
  font-size:1.45rem;
  margin-bottom:22px;
}

.toggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px;
  background:rgba(75,75,66,.07);
  border-radius:14px;
  padding:3px;
  margin-bottom:18px;
}

.toggle button{
  border:0;
  border-radius:11px;
  padding:10px;
  background:transparent;
  color:rgba(75,75,66,.48);
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
}

.toggle button.on{
  background:var(--white);
  color:var(--dark);
  box-shadow:0 4px 12px rgba(75,75,66,.09);
}

.row{
  display:flex;
  justify-content:space-between;
  padding:11px 0;
  border-bottom:1px solid rgba(75,75,66,.08);
}

.total{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding-top:16px;
  margin-top:8px;
  border-top:2px solid rgba(75,75,66,.10);
}

.total strong{
  font-size:2rem;
  color:var(--sage);
}

.promo{
  display:flex;
  border:1.5px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  margin:18px 0;
}

.promo input{
  flex:1;
  border:0;
  padding:12px;
  background:transparent;
}

.promo button{
  border:0;
  border-left:1px solid var(--line);
  padding:0 16px;
  background:transparent;
  color:var(--sage);
  font-weight:900;
}

.field{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:12px;
}

.field label{
  font-size:.68rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  font-weight:800;
  color:rgba(75,75,66,.42);
}

.field input{
  border:1.5px solid var(--line);
  border-radius:12px;
  padding:12px;
  background:var(--white);
}

.success{
  position:fixed;
  inset:0;
  background:rgba(255,250,244,.97);
  z-index:20;
  display:none;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:30px;
}

.success.show{display:flex}

.success h1{
  font-size:clamp(2rem,5vw,3.4rem);
  line-height:.9;
}

.success em{
  color:var(--sage);
  font-style:italic;
}

.empty{
  padding:40px;
  background:var(--white);
  border-radius:20px;
  margin-top:30px;
  text-align:center;
  animation:softIn .65s ease both;
}

.order-number{
  background:var(--white);
  border-radius:var(--radius-pill);
  padding:10px 18px;
  display:inline-flex;
  margin:18px 0;
  color:var(--sage);
  font-weight:900;
}

@keyframes softIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}
}

/* FOOTER */
.site-footer{
  /* margin-top:9px; */
  padding:70px 20px;
  background:linear-gradient(135deg,#f7f1eb,#fffaf4,#f4dfe4);
  border-top:1px solid var(--line);
  text-align:center;
  color:var(--dark);
}

.cart-page .site-footer{
  grid-column:1/-1;
  margin-top:20px;
}

.footer-inner{
  max-width:1200px;
  margin:auto;
  text-align:center;
}

.footer-logo{
  width:90px;
  margin-bottom:18px;
  opacity:.95;
}

.footer-brand,
.footer-text{
  color:var(--dark);
  font-size:15px;
  margin-bottom:26px;
  letter-spacing:.5px;
  font-weight:800;
}

.footer-socials,
.footer-icons{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:16px;
}

.footer-socials a,
.footer-icons a{
  width:54px;
  height:54px;
  border-radius:50%;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(199,169,123,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--dark);
  font-size:22px;
  text-decoration:none;
  transition:.3s ease;
  backdrop-filter:blur(10px);
  box-shadow:0 10px 30px rgba(0,0,0,.04);
}

.footer-socials a:hover,
.footer-icons a:hover{
  transform:translateY(-5px) scale(1.06);
  background:var(--white);
  color:#d79baa;
  box-shadow:0 18px 40px rgba(215,155,170,.18);
}

/* RESPONSIVE */
@media(max-width:850px){
  .links{display:none}
  .cards{grid-template-columns:1fr}
  .hero-title{font-size:4.7rem}
  nav{width:calc(100% - 24px)}
  .nav-btn{padding:11px 14px;font-size:.75rem}
  .hero-logo{width:min(300px,74vw);height:min(300px,74vw)}

  .menu-btn{display:block}
  .cart{padding:10px 12px;font-size:.66rem}

  body.shop-page .hero{
    padding:125px 18px 54px;
  }

  body.shop-page .hero > img{
    width:160px;
    height:160px;
  }

  body.shop-page .hero h1{
    font-size:3.1rem;
  }

  body.shop-page .hero p{
    font-size:.62rem;
    letter-spacing:.26em;
  }

  .filters{top:76px}
  .filters button{padding:15px 18px;font-size:.65rem}
  .menu{padding:34px 16px}
  .grid{grid-template-columns:1fr}
  .img{height:220px}
  .foot{align-items:stretch}
  .add{padding:12px 16px}
}

@media(max-width:860px){
  .cart-page nav{
    width:calc(100% - 22px);
    height:auto;
    min-height:64px;
    padding:8px 12px;
  }

  .cart-page .logo{font-size:1.05rem}
  .cart-page .logo-img{width:42px;height:42px}
  .back{padding:10px 12px;font-size:.62rem}

  .cart-page .page{
    grid-template-columns:1fr;
    padding-top:90px;
  }

  .cart-page .left,
  .cart-page .right{
    padding:28px 16px;
  }

  .cart-page .left{border-right:0}

  .item{
    display:grid;
    grid-template-columns:54px 1fr;
    align-items:start;
  }

  .ctrl,
  .item .price,
  .rm{
    grid-column:2;
  }

  .ctrl{margin-top:8px}
  .item .price{text-align:left}
  .right{min-height:auto}
  .send{margin-top:18px}
}

@media(max-width:650px){
  nav{
    top:10px;
    width:calc(100% - 18px);
    min-height:62px;
    padding:7px 10px;
  }

  .brand img,
  .logo-img{
    width:42px;
    height:42px;
  }

  .logo{font-size:1.02rem}
  .nav-actions{gap:6px}
  .nav-btn{padding:10px 12px;font-size:.64rem}
  .lang-dot{width:21px;height:21px}

  .hero{
    padding-top:112px;
    min-height:105vh;
  }

  .hero-logo{
    width:min(210px,60vw);
    height:min(210px,60vw);
  }

  .hero-title{
    font-size:clamp(3rem,18vw,4.8rem);
    letter-spacing:-.08em;
  }

  .hero p{
    font-size:.88rem;
    padding:0 8px;
  }

  .footer-socials,
  .footer-icons{gap:12px}

  .footer-socials a,
  .footer-icons a{
    width:48px;
    height:48px;
    font-size:18px;
  }
}

@media(max-width:420px){
  .cart span:first-child{display:none}
  .cart{min-width:48px;justify-content:center}
  .logo{font-size:1rem}
  .hero h1{font-size:2.8rem}
  .body{padding:17px}
}


/* ABOUT US SECTION */
.about-section{position:relative;overflow:hidden;padding:120px 24px;background:radial-gradient(circle at 14% 18%,rgba(244,223,228,.7),transparent 28%),radial-gradient(circle at 88% 28%,rgba(232,216,199,.75),transparent 30%),linear-gradient(135deg,#fffaf4,#f7f1eb 55%,#f4dfe4);color:var(--dark)}
.about-section:before{content:"";position:absolute;inset:40px;border-radius:46px;border:1px solid rgba(199,169,123,.12);pointer-events:none}
.about-wrap{position:relative;z-index:2;max-width:1120px;margin:0 auto;text-align:center;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.75);border-radius:46px;padding:72px 54px;box-shadow:0 34px 90px rgba(75,75,66,.10);backdrop-filter:blur(18px)}
.about-badge{width:max-content;margin:0 auto 18px;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#fff,#f8e8ee);border:1px solid rgba(215,155,170,.22);color:var(--sage);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:950;box-shadow:0 12px 30px rgba(215,155,170,.10)}
.about-section h2{font-family:Georgia,serif;font-size:clamp(3.1rem,7vw,6.8rem);line-height:.88;letter-spacing:-.06em;margin-bottom:26px;animation:aboutTitleFloat 5s ease-in-out infinite}
@keyframes aboutTitleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.about-text{max-width:850px;margin:0 auto;color:rgba(75,75,66,.72);font-size:1.05rem;line-height:2;white-space:pre-line}
body.ar .about-text{direction:rtl;text-align:right;line-height:2.15}
.about-mini-cards{margin:42px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.about-mini{text-align:left;padding:24px;border-radius:28px;background:rgba(255,255,255,.72);border:1px solid rgba(199,169,123,.13);box-shadow:0 18px 48px rgba(75,75,66,.07);transition:.35s ease}
body.ar .about-mini{text-align:right}
.about-mini:hover{transform:translateY(-8px) scale(1.015);box-shadow:0 28px 70px rgba(215,155,170,.16)}
.about-mini span{width:48px;height:48px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#fff,#f8e8ee);margin-bottom:15px;font-size:1.5rem}
.about-mini strong{display:block;font-family:Georgia,serif;font-size:1.45rem;margin-bottom:8px}
.about-mini p{color:rgba(75,75,66,.62);line-height:1.65;font-size:.94rem;margin:0}
.about-btn{margin-top:42px}
.about-glow{position:absolute;border-radius:999px;filter:blur(6px);opacity:.55;animation:aboutGlow 8s ease-in-out infinite}
.about-glow-one{width:270px;height:270px;background:rgba(244,223,228,.9);left:-90px;top:60px}
.about-glow-two{width:240px;height:240px;background:rgba(232,216,199,.85);right:-70px;bottom:70px;animation-delay:-3s}
@keyframes aboutGlow{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.14) translateY(-20px)}}
.about-section.show .about-wrap{animation:aboutIn .9s cubic-bezier(.2,.8,.2,1) both}
.about-section.show .about-mini{animation:aboutCardIn .75s cubic-bezier(.2,.8,.2,1) both}
.about-section.show .about-mini:nth-child(2){animation-delay:.12s}
.about-section.show .about-mini:nth-child(3){animation-delay:.24s}
@keyframes aboutIn{from{opacity:0;transform:translateY(34px) scale(.98);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@keyframes aboutCardIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:850px){.about-section{padding:82px 16px}.about-section:before{inset:18px;border-radius:32px}.about-wrap{padding:48px 22px;border-radius:32px}.about-mini-cards{grid-template-columns:1fr}.about-text{font-size:.96rem}}


/* Final footer harmony with About section */
.site-footer{background:radial-gradient(circle at 18% 20%,rgba(244,223,228,.62),transparent 30%),radial-gradient(circle at 82% 16%,rgba(232,216,199,.62),transparent 28%),linear-gradient(135deg,#fffaf4,#f7f1eb 55%,#f4dfe4)!important;border-top:1px solid rgba(199,169,123,.12);box-shadow:0 -22px 70px rgba(75,75,66,.06)}
.footer-inner{background:rgba(255,255,255,.36);border:1px solid rgba(255,255,255,.72);border-radius:34px;padding:28px 18px;backdrop-filter:blur(14px)}
.footer-socials a,.footer-icons a{background:rgba(255,255,255,.78)!important;color:var(--dark)!important}.footer-socials a:hover,.footer-icons a:hover{color:#d79baa!important}

/* Per item comment + add-on breakdown */
.item-comment,.cart-item-comment{width:100%;min-height:46px;margin-top:8px;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.72);color:var(--dark);resize:vertical;font-family:Inter,system-ui,sans-serif;font-size:.82rem}.cart-item-comment{min-height:42px}

/* Order sending animation */
.order-loader{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(255,250,244,.82);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transition:.28s ease}
.order-loader.show{opacity:1;pointer-events:auto}
.order-loader-card{width:min(420px,88vw);padding:34px 28px;border-radius:34px;background:rgba(255,255,255,.9);border:1px solid rgba(199,169,123,.2);box-shadow:0 28px 80px rgba(75,75,66,.14);text-align:center;animation:orderPop .55s cubic-bezier(.2,.8,.2,1) both}
.order-loader-card img{width:118px;height:118px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 14px 26px rgba(75,75,66,.12));animation:logoFloat 2.8s ease-in-out infinite}
.order-loader-card h2{font-family:Georgia,serif;color:var(--dark);font-size:2rem;margin:8px 0 6px}
.order-loader-card p{color:var(--text-soft);line-height:1.7;font-size:.95rem}
.matcha-spinner{display:flex;justify-content:center;gap:8px;margin:10px 0}
.matcha-spinner span{width:12px;height:12px;border-radius:50%;background:var(--sage);animation:bubble 1s ease-in-out infinite}
.matcha-spinner span:nth-child(2){animation-delay:.15s}.matcha-spinner span:nth-child(3){animation-delay:.3s}
@keyframes bubble{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-9px);opacity:1}}
@keyframes orderPop{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
