@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800;900&display=swap');
:root{
  --bg:#fff3f6;--card:#fff;--ink:#111111;--muted:#6f6870;--line:#f1dfe5;
  --rose:#f8d7e1;--rose2:#fff8fa;--champagne:#e8a9bb;--brown:#111111;
  --shadow:0 22px 70px rgba(20,20,20,.10);--shadow-soft:0 12px 34px rgba(20,20,20,.07)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Vazirmatn,Tahoma,sans-serif;color:var(--ink);line-height:1.9;background:radial-gradient(circle at 50% -10%,#fff 0,#fff3f6 32%,#fff8fa 74%,#f7eef2 100%)}
.gift-page{min-height:100vh;padding:28px 14px 58px}.gift-shell{max-width:1040px;margin:0 auto}.brand-hero{position:relative;overflow:hidden;border-radius:34px;background:linear-gradient(145deg,#fff 0,#fff8fa 100%);box-shadow:var(--shadow);padding:30px 28px 32px;text-align:center;border:1px solid rgba(255,255,255,.8)}
.brand-hero:before,.brand-hero:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.brand-hero:before{width:260px;height:260px;right:-120px;top:-120px;background:rgba(248,215,225,.66)}.brand-hero:after{width:210px;height:210px;left:-100px;bottom:-110px;background:rgba(232,169,187,.20)}
.logo-box{position:relative;width:180px;height:52px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center}.logo-box img{max-width:180px;max-height:52px;object-fit:contain}.hero-pill{position:relative;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.76);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:800;color:#8d5e70}.brand-hero h1{position:relative;margin:12px 0 8px;font-size:32px;line-height:1.55;font-weight:900;letter-spacing:-.9px}.brand-hero p{position:relative;margin:0 auto;color:var(--muted);font-size:14px;max-width:620px}
.gift-panel{margin-top:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);border-radius:32px;padding:24px}.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{background:#fff;border:1px solid var(--line);border-radius:22px;padding:13px 14px 14px;box-shadow:0 6px 20px rgba(58,38,33,.035)}.field.full{grid-column:1/-1}.field label{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13.5px;font-weight:900}.field label span{font-size:18px}.field select{width:100%;height:46px;border:0;background:linear-gradient(180deg,#fff,#fffaf9);border-radius:15px;padding:0 12px;font-family:inherit;font-weight:750;color:#241916;outline:1px solid #f0e6e2;transition:.18s}.field select:focus{outline:2px solid #e9c7c2;box-shadow:0 0 0 5px rgba(233,199,194,.20)}.submit-row{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:10px}.primary-cta{width:100%;height:58px;border:0;border-radius:20px;background:linear-gradient(135deg,#15100f,#2c2c2f 60%,#e8a9bb);color:#fff;font-family:inherit;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 16px 30px rgba(20,20,20,.18);transition:.18s}.primary-cta:hover{transform:translateY(-1px);box-shadow:0 20px 36px rgba(20,20,20,.23)}
#results{margin-top:20px}.result-top{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:5px 2px 14px}.result-top h2{margin:0;font-size:20px;font-weight:950}.result-top p{margin:0;color:var(--muted);font-size:12.5px}.cards{display:grid;gap:14px}.gift-card{position:relative;display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;overflow:hidden;background:linear-gradient(145deg,#fff,#fffafa);border:1px solid var(--line);border-radius:28px;padding:15px;box-shadow:var(--shadow-soft)}.gift-card:before{content:"";position:absolute;inset:auto -60px -75px auto;width:170px;height:170px;border-radius:50%;background:rgba(233,199,194,.20)}.gift-media{position:relative;width:150px;height:150px;border-radius:24px;background:#fff;border:1px solid #f0e9e7;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 8px rgba(255,247,246,.55)}.gift-media img{width:100%;height:100%;object-fit:contain;padding:12px;border-radius:22px}.gift-info{position:relative;min-width:0}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}.badge{background:#fff7f5;border:1px solid #f1dfe5;color:#8d5e70;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800}.gift-card h3{margin:0 0 6px;font-size:18px;font-weight:950;line-height:1.65;letter-spacing:-.2px}.reason{margin:0 0 7px;color:#5f5860;font-size:13.5px}.meta-line{display:flex;gap:8px;flex-wrap:wrap;margin:7px 0 9px}.meta-line span{font-size:11.5px;font-weight:800;color:#5f5860;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 9px}.price{margin:0 0 12px;font-size:15px;font-weight:950;color:#17110f}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{min-height:40px;border:0;border-radius:14px;padding:9px 15px;font-family:inherit;font-weight:900;text-decoration:none;cursor:pointer;font-size:12.5px;display:inline-flex;align-items:center;justify-content:center}.btn-dark{background:#17110f;color:#fff}.btn-light{background:#fff;color:#17110f;border:1px solid var(--line)}.intro{display:none;grid-column:1/-1;position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px 18px;color:#4c454d;font-size:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}.intro-title{display:block;margin-bottom:6px;font-weight:950;color:#111111}.more-wrap{margin-top:16px;display:flex;justify-content:center}.more-btn{height:50px;min-width:260px;border-radius:18px;border:1px solid #f1dfe5;background:linear-gradient(180deg,#fff,#fff8f6);font-family:inherit;font-weight:950;color:#111111;cursor:pointer;box-shadow:0 10px 24px rgba(58,38,33,.07)}.more-btn:hover{background:#fff}.loading,.empty{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;text-align:center;color:var(--muted);box-shadow:var(--shadow-soft)}
@media(max-width:760px){.gift-page{padding:12px 9px 42px}.brand-hero{border-radius:26px;padding:24px 16px 25px}.logo-box{width:150px;height:46px;margin-bottom:10px}.brand-hero h1{font-size:23px;line-height:1.65}.brand-hero p{font-size:12.5px}.gift-panel{border-radius:26px;padding:12px;margin-top:12px}.question-grid{grid-template-columns:1fr;gap:10px}.field{border-radius:18px;padding:11px}.field label{font-size:13px}.field select{height:45px;font-size:13px}.primary-cta{height:54px;border-radius:18px;font-size:14px}.result-top{display:block;padding:3px 2px 11px}.result-top h2{font-size:17px}.result-top p{font-size:11.5px}.gift-card{grid-template-columns:104px 1fr;gap:11px;border-radius:22px;padding:11px}.gift-media{width:104px;height:104px;border-radius:18px}.gift-media img{padding:8px}.badge{font-size:10px;padding:2px 7px}.gift-card h3{font-size:14.2px;line-height:1.75}.reason{font-size:12px;line-height:1.8}.meta-line{gap:5px}.meta-line span{font-size:10.5px}.price{font-size:13px}.btn{min-height:36px;padding:8px 10px;font-size:11.5px}.intro{font-size:12.5px;padding:13px;border-radius:17px}.more-btn{width:100%;min-width:0;height:48px}.actions{gap:6px}}
@media(max-width:420px){.gift-card{grid-template-columns:92px 1fr}.gift-media{width:92px;height:92px}.gift-card h3{font-size:13.4px}.actions .btn{flex:1}.meta-line span{max-width:100%}}


/* v18 Pandora Iran SEO/UI refinements */
.logo-box{
  width:230px;
  height:72px;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.logo-box img{
  max-width:230px !important;
  max-height:72px !important;
}
.hero-pill{
  gap:8px;
  color:#8d5e70;
}
.hero-pill img{
  width:22px;
  height:22px;
  order:-1;
  flex:0 0 22px;
}
.field label{
  justify-content:flex-start !important;
  gap:8px;
}
.field label .label-text{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-direction:row;
}
.field label img{
  width:22px;
  height:22px;
  flex:0 0 22px;
}
.field label span:not(.label-text){
  display:none;
}
.field select{
  appearance:auto;
  padding-left:34px;
}
.field select option{
  background:#ffffff;
  color:#111111;
}
.brand-hero h1{
  color:#111111;
}
.primary-cta{
  background:linear-gradient(135deg,#111111 0%,#2b2b2f 62%,#e8a9bb 135%) !important;
}
.badge{
  background:#fff8fa;
}
@media(max-width:760px){
  .logo-box{
    width:190px;
    height:60px;
  }
  .logo-box img{
    max-width:190px !important;
    max-height:60px !important;
  }
}


/* v19 mobile UX fix */
@media(max-width:760px){
  body{
    background:linear-gradient(180deg,#fff8fa 0%,#fff3f6 100%) !important;
  }

  .gift-page{
    padding:10px 10px 34px !important;
  }

  .gift-shell{
    max-width:100% !important;
  }

  .brand-hero{
    padding:18px 16px 20px !important;
    border-radius:24px !important;
    min-height:auto !important;
  }

  .brand-hero:before{
    width:150px !important;
    height:150px !important;
    right:-65px !important;
    top:-60px !important;
  }

  .brand-hero:after{
    width:130px !important;
    height:130px !important;
    left:-55px !important;
    bottom:-70px !important;
  }

  .logo-box{
    width:170px !important;
    height:50px !important;
    margin-bottom:6px !important;
  }

  .logo-box img{
    max-width:170px !important;
    max-height:50px !important;
  }

  .hero-pill{
    display:none !important;
  }

  .brand-hero h1{
    font-size:22px !important;
    line-height:1.65 !important;
    margin:8px 0 6px !important;
    letter-spacing:-.4px !important;
  }

  .brand-hero p{
    font-size:12.5px !important;
    line-height:2 !important;
    max-width:320px !important;
  }

  .gift-panel{
    margin-top:12px !important;
    padding:12px !important;
    border-radius:24px !important;
    box-shadow:0 14px 40px rgba(20,20,20,.07) !important;
  }

  .question-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
  }

  .field{
    padding:10px !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(20,20,20,.045) !important;
  }

  .field.full{
    grid-column:1/-1 !important;
  }

  .field label{
    font-size:11.5px !important;
    margin-bottom:6px !important;
    gap:6px !important;
    white-space:nowrap !important;
  }

  .field label .label-text{
    gap:6px !important;
  }

  .field label img{
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
  }

  .field select{
    height:42px !important;
    border-radius:14px !important;
    font-size:12px !important;
    font-weight:800 !important;
    padding:0 10px 0 32px !important;
    background:#fff !important;
  }

  .submit-row{
    grid-column:1/-1 !important;
    position:sticky !important;
    bottom:8px !important;
    z-index:9 !important;
  }

  .primary-cta{
    height:54px !important;
    border-radius:18px !important;
    font-size:14px !important;
    box-shadow:0 14px 30px rgba(17,17,17,.22) !important;
  }

  #results{
    margin-top:14px !important;
  }

  .result-top{
    padding:2px 2px 10px !important;
  }

  .result-top h2{
    font-size:17px !important;
  }

  .result-top p{
    font-size:11px !important;
  }

  .cards{
    gap:10px !important;
  }

  .gift-card{
    grid-template-columns:88px 1fr !important;
    gap:10px !important;
    padding:10px !important;
    border-radius:20px !important;
  }

  .gift-card:before{
    display:none !important;
  }

  .gift-media{
    width:88px !important;
    height:88px !important;
    border-radius:16px !important;
  }

  .gift-media img{
    padding:7px !important;
  }

  .badges{
    gap:4px !important;
    margin-bottom:4px !important;
  }

  .badge{
    font-size:9.5px !important;
    padding:2px 6px !important;
  }

  .gift-card h3{
    font-size:13px !important;
    line-height:1.65 !important;
    margin-bottom:4px !important;
  }

  .reason{
    display:none !important;
  }

  .meta-line{
    display:none !important;
  }

  .price{
    font-size:12.5px !important;
    margin:5px 0 8px !important;
  }

  .actions{
    gap:6px !important;
  }

  .btn{
    min-height:34px !important;
    padding:7px 9px !important;
    font-size:10.5px !important;
    border-radius:11px !important;
  }

  .intro{
    font-size:11.5px !important;
    line-height:2 !important;
    padding:12px !important;
    border-radius:16px !important;
  }

  .more-btn{
    width:100% !important;
    height:46px !important;
    border-radius:16px !important;
    font-size:12.5px !important;
  }
}

@media(max-width:390px){
  .question-grid{
    grid-template-columns:1fr !important;
  }

  .gift-card{
    grid-template-columns:82px 1fr !important;
  }

  .gift-media{
    width:82px !important;
    height:82px !important;
  }

  .brand-hero h1{
    font-size:20px !important;
  }
}


/* v20 product intro upgrade */
.product-intro-box{
  background:#fff8fa;
  border:1px solid #f1dfe5;
  border-radius:18px;
  padding:16px;
}

.product-intro-box .intro-title{
  font-size:15px;
  font-weight:950;
  color:#111111;
  margin-bottom:14px;
}

.product-intro-box .intro-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid #f1dfe5;
}

.product-intro-box .intro-item span{
  color:#7a7278;
  font-size:12.5px;
  font-weight:800;
}

.product-intro-box .intro-item strong{
  color:#111111;
  font-size:13px;
  font-weight:950;
  text-align:left;
}

.product-intro-box .intro-description{
  margin-top:14px;
  color:#464046;
  font-size:13px;
  line-height:2.15;
}

@media(max-width:760px){
  .product-intro-box{
    padding:13px;
    border-radius:16px;
  }

  .product-intro-box .intro-title{
    font-size:13px;
    margin-bottom:10px;
  }

  .product-intro-box .intro-item{
    padding:8px 0;
  }

  .product-intro-box .intro-item span,
  .product-intro-box .intro-item strong,
  .product-intro-box .intro-description{
    font-size:11.5px;
  }
}


/* v21 gift package modal and CTA */
.btn-package{
  background:#fff8fa;
  color:#111;
  border:1px solid #f1dfe5;
}

.package-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(17,17,17,.58);
  backdrop-filter:blur(8px);
  z-index:9999;
  padding:18px;
}

.package-modal.show{
  display:flex;
}

.package-modal-box{
  width:min(520px,94vw);
  background:#fff;
  border:1px solid #f1dfe5;
  border-radius:28px;
  box-shadow:0 30px 90px rgba(17,17,17,.24);
  padding:22px;
  text-align:center;
  position:relative;
  animation:packagePop .18s ease-out;
}

.package-modal-box img{
  display:block;
  width:100%;
  max-width:420px;
  margin:0 auto 14px;
  border-radius:22px;
}

.package-modal-box h2{
  margin:0 0 8px;
  font-size:20px;
  font-weight:950;
  color:#111;
}

.package-modal-box p{
  margin:0;
  color:#5f5860;
  font-size:13px;
  line-height:2.15;
}

.package-close{
  position:absolute;
  top:12px;
  left:12px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid #f1dfe5;
  background:#fff8fa;
  color:#111;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

@keyframes packagePop{
  from{transform:translateY(10px) scale(.98);opacity:.4}
  to{transform:translateY(0) scale(1);opacity:1}
}

@media(max-width:760px){
  .btn-package{
    flex-basis:100%;
  }

  .package-modal-box{
    border-radius:22px;
    padding:16px;
  }

  .package-modal-box h2{
    font-size:17px;
  }

  .package-modal-box p{
    font-size:12px;
  }

  .package-close{
    width:32px;
    height:32px;
    font-size:21px;
  }
}
