
.pricing-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 0 50%,rgba(174,136,78,.11),transparent 25%),
    radial-gradient(circle at 100% 50%,rgba(34,77,58,.08),transparent 26%),
    linear-gradient(180deg,#fbf7ef 0%,#fffdf9 100%);
}
.pricing-section::before,.pricing-section::after{
  content:"";position:absolute;pointer-events:none;border-radius:50%
}
.pricing-section::before{width:180px;height:180px;left:-90px;bottom:55px;background:rgba(61,96,73,.05)}
.pricing-section::after{width:150px;height:150px;right:-75px;top:90px;background:rgba(195,151,87,.07)}
.pricing-heading{text-align:center;max-width:820px;margin:0 auto 34px;position:relative}
.pricing-heading>small{display:block;color:#a9783d;font-size:11px;letter-spacing:.16em;font-weight:850}
.pricing-heading h2{font-size:40px;margin:5px 0 8px}
.pricing-heading p{margin:0 auto;color:var(--muted);line-height:1.7}
.pricing-note{position:absolute;right:0;top:8px;transform:translateX(72%);max-width:250px;text-align:left;font-size:10px;color:#8b8d87;font-style:italic}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;max-width:1120px;margin:0 auto}
.pricing-card{
  position:relative;display:flex;flex-direction:column;min-height:460px;
  padding:30px;border-radius:20px;background:rgba(255,255,255,.94);
  border:1px solid #ece3d7;box-shadow:0 12px 36px rgba(61,49,34,.07);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.pricing-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(61,49,34,.12);border-color:#d8c2a1}
.pricing-card.featured{
  background:linear-gradient(160deg,#315941 0%,#234b38 60%,#1d3f30 100%);
  border-color:#406a51;color:#fff;box-shadow:0 18px 45px rgba(28,67,49,.22)
}
.pricing-badge{
  position:absolute;right:18px;top:16px;background:#f3dcae;color:#735a2e;
  border-radius:999px;padding:7px 11px;font-size:10px;font-weight:850
}
.pricing-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}
.pricing-top h3{margin:0 0 4px;font-size:27px}.pricing-top small{font-size:10px;letter-spacing:.14em;color:#9b9488}
.pricing-card.featured .pricing-top small{color:#d7e2db}
.pricing-icon{font-size:50px;line-height:1;color:#c6a36b;opacity:.82}
.pricing-card.featured .pricing-icon{color:#e5c787}
.pricing-price{font-size:29px;font-weight:850;margin:1px 0 20px;letter-spacing:-.02em}
.pricing-features{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px;flex:1}
.pricing-features li{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;font-size:14px;line-height:1.5;color:#536058}
.pricing-features li span{color:#315b44;font-weight:900}
.pricing-card.featured .pricing-features li{color:#e6eee9}.pricing-card.featured .pricing-features li span{color:#f2ddb1}
.pricing-register{
  width:100%;height:49px;border-radius:11px;border:0;background:#244d3a;color:#fff;
  font:850 14px Arial,Helvetica,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;
  transition:.22s
}
.pricing-register:hover{background:#173c2c;transform:translateY(-1px)}
.pricing-register.light{background:linear-gradient(90deg,#f2deb4,#f7e8c8);color:#5b4628}
.pricing-register.light:hover{background:#f6e7c7}

/* popup */
.pricing-booking-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px}
.pricing-booking-modal.open{display:flex}
.pricing-modal-backdrop{position:absolute;inset:0;background:rgba(13,24,18,.64);backdrop-filter:blur(5px)}
.pricing-modal-dialog{
  position:relative;z-index:1;width:min(720px,100%);max-height:min(90vh,820px);overflow:auto;
  background:#fff;border-radius:22px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.26);
  animation:pricingModalIn .32s cubic-bezier(.22,1,.36,1)
}
@keyframes pricingModalIn{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}
.pricing-modal-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border:1px solid #dde4df;border-radius:10px;background:#fff;color:#244d3a;font-size:28px;cursor:pointer}
.pricing-modal-head{padding-right:55px;margin-bottom:20px}.pricing-modal-head small{display:block;font-size:10px;letter-spacing:.15em;color:#a9783d;font-weight:850}
.pricing-modal-head h3{font-size:27px;margin:5px 0 6px}.pricing-modal-head h3 span{color:#2a6449}.pricing-modal-head p{margin:0;color:#76827b;font-size:13px}
.pricing-booking-form{display:grid;gap:13px}.pricing-booking-form label{font-size:12px;font-weight:800;color:#34463d}
.pricing-booking-form input,.pricing-booking-form textarea{width:100%;margin-top:6px;border:1px solid #d9e1dc;border-radius:10px;background:#fbfcfb;padding:12px 13px;font:inherit;outline:none}
.pricing-booking-form input:focus,.pricing-booking-form textarea:focus{border-color:#2d6b50;box-shadow:0 0 0 3px rgba(45,107,80,.08)}
.pricing-booking-form input[readonly]{background:#eef4f0;color:#24523d;font-weight:850}
.pricing-form-two{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.pricing-submit{height:49px;border:0;border-radius:11px;background:#244d3a;color:#fff;font-weight:850;cursor:pointer;margin-top:3px}
body.pricing-modal-open{overflow:hidden}
@media(max-width:1050px){.pricing-note{position:static;display:block;transform:none;text-align:center;max-width:none;margin-top:10px}.pricing-grid{gap:14px}}
@media(max-width:800px){.pricing-grid{grid-template-columns:1fr}.pricing-card{min-height:0}.pricing-heading h2{font-size:34px}}
@media(max-width:560px){.pricing-section{padding-top:52px!important;padding-bottom:52px!important}.pricing-card{padding:22px}.pricing-top h3{font-size:23px}.pricing-price{font-size:25px}.pricing-modal-dialog{padding:22px 16px}.pricing-form-two{grid-template-columns:1fr}.pricing-modal-head h3{font-size:23px}}


/* FIX: note dưới tiêu đề + bỏ icon góc phải */
.pricing-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.pricing-heading .pricing-note{
  position:static!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  display:block!important;
  max-width:760px!important;
  margin:6px auto 10px!important;
  text-align:center!important;
  font-size:11px!important;
  line-height:1.5;
  color:#8b8d87!important;
  font-style:italic;
}
.pricing-top{
  display:block!important;
}
.pricing-icon{
  display:none!important;
}
