.kst-box{margin:16px 0}
.kst-from{margin-bottom:10px;font-size:15px}
.kst-open,.kst-submit{display:inline-block;background:#b0003a;color:#fff;border:0;border-radius:8px;padding:12px 22px;font-size:15px;cursor:pointer;text-decoration:none;font-family:inherit}
.kst-open:hover,.kst-submit:hover{opacity:.9;color:#fff}
.kst-submit[disabled]{background:#bbb;cursor:not-allowed}
body.kst-lock{overflow:hidden}
.kst-ov{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;display:flex;align-items:center;justify-content:center;padding:12px}
.kst-modal{background:#fff;color:#222;width:100%;max-width:620px;max-height:92vh;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;font-family:inherit}
.kst-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-weight:700;font-size:17px;border-bottom:1px solid #eee}
.kst-x{background:none;border:0;font-size:20px;cursor:pointer;color:#555}
.kst-months{display:flex;gap:8px;padding:10px 14px 0;overflow-x:auto}
.kst-chip{border:1px solid #ddd;background:#fff;border-radius:20px;padding:5px 14px;cursor:pointer;white-space:nowrap;font-family:inherit}
.kst-chip.on{background:#16a34a;color:#fff;border-color:#16a34a}
.kst-days{display:flex;gap:8px;padding:12px 14px;overflow-x:auto;background:#f3f3f3;margin-top:10px}
.kst-day{flex:0 0 auto;min-width:92px;border:0;border-radius:8px;background:#ececec;color:#888;padding:10px 8px;cursor:pointer;text-align:center;font-family:inherit}
.kst-day b{display:block;font-size:14px}.kst-day small{display:block;font-size:12px;margin-top:2px}
.kst-day.on{background:#16a34a;color:#fff}
.kst-body{padding:14px;overflow-y:auto;flex:1}
.kst-slot{border:2px solid #cfcfcf;border-radius:10px;margin:0 0 14px;padding:10px}
.kst-slot legend{padding:0 8px;font-weight:700}
.kst-trow{display:grid;grid-template-columns:1fr auto 90px;gap:10px;align-items:center;background:#f6f6f6;border-radius:8px;padding:10px 12px;margin-bottom:8px}
.kst-tname{font-weight:700}.kst-tprice{color:#555;font-size:14px}
.kst-trow select{padding:6px;border-radius:6px;border:1px solid #ddd;width:100%}
.kst-full{color:#b91c1c;font-size:13px;text-align:center}
.kst-low{color:#b45309;font-size:13px}
.kst-msg,.kst-ok{text-align:center;padding:24px 0}.kst-ok{color:#16a34a;font-weight:700}
.kst-err{color:#b91c1c;padding:0 16px;font-size:14px;min-height:0}
.kst-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid #eee}
.kst-total{font-weight:700}
.kst-link{color:#b0003a}
@media(max-width:480px){.kst-trow{grid-template-columns:1fr 80px}.kst-tprice{grid-column:1/2;grid-row:2}}
.kst-old{color:#999;margin-left:6px;font-weight:400;font-size:.9em}
.kst-new{color:#16a34a}
.kst-tprice{display:flex;flex-direction:column;align-items:flex-start;line-height:1.5}

/* مخفی کردن فرم و دکمه‌ی پیش‌فرض «افزودن به سبد خرید» قالب برای محصولات سانس‌دار */
.kst-product form.cart,
.kst-product .woocommerce-variation-add-to-cart,
.kst-product .wd-sticky-btn,
.kst-product .sticky-add-to-cart,
.kst-product .wd-buy-now-btn{display:none !important}
.kst-product .kst-box{margin:12px 0 18px}
.kst-product .kst-open{width:100%;text-align:center}

.kst-box .kst-open{background:#b0003a !important;color:#fff !important;border:0 !important;border-radius:8px !important;padding:12px 22px !important;font-size:15px !important;font-weight:700 !important;cursor:pointer;box-shadow:none !important;line-height:1.6 !important;width:100%;text-align:center}
.kst-box .kst-open:hover{opacity:.92}
.kst-ov .kst-submit{background:#b0003a !important;color:#fff !important}
.kst-ov .kst-submit[disabled]{background:#bbb !important}

/* پنجره‌ی موفقیت بعد از افزودن به سبد */
.kst-modal.kst-success{max-width:500px;padding:30px 30px 26px;text-align:center;position:relative;overflow-y:auto}
.kst-x-abs{position:absolute;top:12px;left:14px}
.kst-check{display:flex;justify-content:center;margin:6px 0 14px}
.kst-sum-title{font-size:17px;font-weight:700;margin:0 0 18px}
.kst-card{border:1px solid #e6e6e6;border-radius:12px;padding:14px 16px;text-align:right;margin-bottom:20px}
.kst-card-top{display:flex;align-items:center;gap:12px}
.kst-card-img{width:94px;height:62px;object-fit:cover;border-radius:8px;flex:0 0 auto}
.kst-card-title{font-weight:700;font-size:16px;margin-bottom:6px}
.kst-card-date{font-size:13px;color:#444}
.kst-hr{border:0;border-top:1px solid #eee;margin:12px 0}
.kst-line{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700;font-size:14px;margin-top:6px}
.kst-badge{background:#ff1654;color:#fff;border-radius:6px;padding:2px 10px;font-size:13px;white-space:nowrap}
.kst-ov .kst-btn{display:block;width:100%;box-sizing:border-box;text-align:center;border-radius:6px;padding:13px 10px;font-size:15px;text-decoration:none !important;margin-top:10px;font-family:inherit}
.kst-ov .kst-btn-primary{background:#16a34a !important;color:#fff !important;border:1px solid #16a34a}
.kst-ov .kst-btn-ghost{background:#fff !important;color:#16a34a !important;border:1px solid #16a34a}

.kst-foot-info{display:flex;flex-direction:column;gap:5px;text-align:right}
.kst-phone{font-size:14px;color:#444}
body a.button.kst-loop-btn,body .products .product a.kst-loop-btn,body .wd-product a.kst-loop-btn,body .wd-add-btn a.kst-loop-btn{display:flex !important;position:static !important;align-items:center;justify-content:center;gap:8px;width:100% !important;max-width:100% !important;height:auto !important;box-sizing:border-box !important;min-height:38px !important;padding:6px 12px !important;margin:12px 0 0 !important;background:#fff !important;background-image:none !important;color:#16a34a !important;border:1px solid #86d3a3 !important;border-radius:6px !important;font-size:13px !important;font-weight:500 !important;line-height:1.6 !important;text-align:center;text-decoration:none !important;text-transform:none !important;letter-spacing:0 !important;box-shadow:none !important;opacity:1 !important;visibility:visible !important;cursor:pointer;transform:none !important;transition:background .2s,color .2s,border-color .2s}
body a.kst-loop-btn:before,body a.kst-loop-btn:after{content:none !important;display:none !important}
body a.kst-loop-btn span{display:inline !important;position:static !important;opacity:1 !important;visibility:visible !important;width:auto !important;height:auto !important;margin:0 !important;font-size:13px !important;color:inherit !important;text-indent:0 !important;clip:auto !important}
body a.kst-loop-btn svg{flex:none;display:block !important;width:18px !important;height:18px !important;color:inherit}
body a.kst-loop-btn:hover,body a.kst-loop-btn:focus{background:#16a34a !important;color:#fff !important;border-color:#16a34a !important}
.kst-trem{display:block;font-size:11px;font-weight:400;color:#b45309;margin-top:2px}
.kst-plan{font-size:13px;color:#444;line-height:1.7}
.kst-ov .kst-plan a{color:#15803d !important;font-weight:700;text-decoration:none !important;unicode-bidi:isolate}
.kst-ov .kst-phone a{color:#b0003a !important;font-weight:700;text-decoration:none !important}

/* وقتی سانس‌ها زیاد است، فقط بخش سانس‌ها اسکرول شود؛ ماه و روز و فوتر ثابت بمانند */
.kst-modal{max-height:92vh;max-height:92dvh;overflow:hidden}
.kst-modal .kst-head,
.kst-modal .kst-months,
.kst-modal .kst-days,
.kst-modal .kst-err,
.kst-modal .kst-foot{flex:0 0 auto}
.kst-modal .kst-months:empty{display:none}
.kst-modal .kst-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.kst-slot legend{font-size:15px;line-height:1.7;max-width:100%}

/* نوار مزایا زیر دکمه */
.kst-box .kst-features{display:flex;gap:10px;justify-content:space-between;background:#f3f4f6;border-radius:12px;padding:12px 14px;margin-top:12px;direction:rtl}
.kst-box .kst-feat{flex:1 1 0;min-width:0;text-align:right}
.kst-box .kst-feat-t{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:#222;line-height:1.6}
.kst-box .kst-feat-t svg{width:18px;height:18px;flex:0 0 auto;stroke:#16a34a;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kst-box .kst-feat-s{font-size:11.5px;color:#666;margin-top:3px;line-height:1.6}
@media(max-width:480px){.kst-box .kst-features{padding:10px 8px;gap:6px}.kst-box .kst-feat-t{font-size:12px;gap:4px}.kst-box .kst-feat-t svg{width:15px;height:15px}.kst-box .kst-feat-s{font-size:10px}}

/* وضعیت دریا و باد */
.kst-wxbox{border:1px solid #e6e6e6;border-radius:12px;padding:12px 14px;margin:0 0 12px;background:#fff;direction:rtl}
.kst-wx-head{font-weight:700;font-size:14px;margin-bottom:10px}
.kst-wx-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.kst-wx-day{flex:1 0 74px;min-width:74px;text-align:center;border-radius:10px;padding:8px 4px;border:1px solid transparent;line-height:1.5}
.kst-wx-day b{display:block;font-size:13px}
.kst-wx-day small{display:block;font-size:11px;color:#555}
.kst-wx-day .kst-wx-w{display:block;font-size:12px;font-weight:700;margin-top:2px;direction:ltr}
.kst-wx-day em{display:block;font-style:normal;font-size:11px;font-weight:700;margin-top:1px}
.kst-wx-day.kst-wx-ok{background:#ecfdf3;border-color:#bbf0d0;color:#15803d}
.kst-wx-day.kst-wx-risk{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.kst-wx-note{font-size:12px;color:#555;margin-top:8px}
.kst-wx-src{font-size:10.5px;color:#999;margin-top:4px}
.kst-wx-src a{color:#999 !important}
.kst-wx{font-size:13px;font-weight:700;border-radius:8px;padding:7px 10px;margin:0 0 10px}
.kst-wx.kst-wx-ok{background:#ecfdf3;color:#15803d}
.kst-wx.kst-wx-risk{background:#fef2f2;color:#b91c1c}
.kst-wx-warn{margin-top:8px;font-size:12.5px;font-weight:700;color:#b91c1c;background:#fef2f2;border-radius:8px;padding:6px 10px}
.kst-day{position:relative}
.kst-day .kst-dot{position:absolute;top:6px;left:6px;width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 2px #fff}
.kst-day.wx-risk .kst-dot{background:#dc2626}

/* ===== حالت درخواست اجاره ===== */
.kst-box .kst-ropen{display:block;background:#b0003a !important;color:#fff !important;border:0 !important;border-radius:8px !important;padding:12px 22px !important;font-size:15px !important;font-weight:700 !important;cursor:pointer;box-shadow:none !important;line-height:1.6 !important;width:100%;text-align:center;font-family:inherit}
.kst-box .kst-ropen:hover{opacity:.92}
.kst-rental-box{margin:12px 0 18px}
.kst-rental .kst-rbody{padding:14px 16px}
.kst-rprice{font-size:15px;margin-bottom:14px}
.kst-rsec{margin-bottom:14px}
.kst-rlabel{font-weight:700;font-size:14px;margin-bottom:6px}
.kst-rhint{color:#777;font-size:13px;background:#f6f6f6;border-radius:8px;padding:10px 12px}
.kst-rental .kst-pick .kst-months{padding:0 0 8px}
.kst-rental .kst-pick .kst-days{margin-top:0;border-radius:8px;padding:10px}
.kst-rental .kst-pick .kst-day{min-width:84px}
.kst-rental .kst-rsec > select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:15px;background:#fff;color:#222}
.kst-rfield{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.kst-rfield label{font-weight:700;font-size:14px}
.kst-rfield input,.kst-rfield textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:15px;background:#fff;color:#222}
.kst-rfield textarea{min-height:70px;resize:vertical}
.kst-hp{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none}
.kst-cost{background:#f6f6f6;border-radius:10px;padding:10px 12px;font-size:14px;margin:0 0 10px}
.kst-cost .kst-cr{display:flex;justify-content:space-between;gap:10px;padding:3px 0}
.kst-cost .kst-ct{font-weight:700;border-top:1px dashed #d4d4d4;margin-top:4px;padding-top:7px;color:#16a34a;font-size:15px}
.kst-rnote{font-size:12.5px;color:#666;margin:6px 0 10px;line-height:1.8}
.kst-rrow{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-top:8px}
.kst-rrow b{font-weight:700;text-align:left}

/* وقتی کادر زیر قیمت قرار گرفت، خط تکراری قیمت داخل کادر لازم نیست */
.kst-rental-box.kst-under-price .kst-from{display:none}
.kst-rental-box.kst-under-price{margin:10px 0 16px}

/* دکمه‌ی داخل قیمت (کارت‌های لیست محصولات) */
body .price:has(.kst-loop-btn){display:block !important}
body .price .kst-loop-btn{flex:0 0 100%}

/* ظرف مستقل دکمه‌ی «خرید بلیط» در کارت‌های لیست محصولات (1.9.18)
   دکمه بیرون از بخش قیمت/عنوان قالب قرار می‌گیرد تا موقع hover
   (جابه‌جایی/محو/برش قیمت در قالب‌هایی مثل وودمارت) زیر کادر نرود. */
body .kst-loop-wrap{display:flex !important;justify-content:center;align-items:center;position:relative !important;z-index:6;width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;overflow:visible !important;box-sizing:border-box;padding:0 0 10px !important;margin:10px 0 0 !important;opacity:1 !important;visibility:visible !important;transform:none !important;clip:auto !important;clip-path:none !important;pointer-events:auto}
body .kst-loop-wrap a.kst-loop-btn.button.button{width:auto !important;min-width:116px;max-width:100% !important;margin:0 !important;flex:0 0 auto !important}
body .kst-has-loop .kst-loop-wrap,body .kst-has-loop:hover .kst-loop-wrap{opacity:1 !important;visibility:visible !important;transform:none !important}
/* در حالت hover، قیمت و بخش پایینی کارت برش نخورد و قیمت محو نشود */
body .kst-has-loop .product-element-bottom,body .kst-has-loop .product-wrapper{overflow:visible !important}
body .kst-has-loop:hover .price{opacity:1 !important;visibility:visible !important;transform:none !important}
/* ظرف خالی دکمه‌ی سبد خرید قالب (دکمه‌اش پنهان است) جایی اشغال نکند */
body .kst-has-loop .wd-add-btn{display:none !important}
