/* Aeris plan promotions: backend themes, real calendar windows and plan capacity. */
.plan-card{padding:0;background:#fff;box-shadow:0 7px 25px #173d2e05;transition:border-color .2s,box-shadow .2s}
.plan-card:hover{border-color:#a9b8a9;box-shadow:0 12px 32px #173d2e0c}
.plan-card.is-featured{border-color:#b2c19b;background:#fffefa}
.plan-card-body{display:flex;flex:1;flex-direction:column;min-width:0;padding:22px}
.plan-card-top{min-height:25px;flex-wrap:wrap;gap:8px}
.plan-card-top .eyebrow{font-size:9px;letter-spacing:1.4px}
.plan-recommended{gap:5px;padding:5px 9px;background:#eef2df;color:#526b32;font-size:10px;font-weight:650}
.plan-card h2{margin:12px 0 5px;font-size:21px;overflow-wrap:anywhere}
.plan-card .plan-price{margin:7px 0 12px;line-height:1.3;font-size:34px;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}
.plan-card .plan-price small{margin-left:3px;font-size:11px;color:#768175}
.plan-average{margin-top:-11px;margin-bottom:12px;font-size:10px;color:#707c6c}
.plan-card .plan-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:3px 0 12px;padding:11px 0;border-top:1px solid #e8ece4;border-bottom:1px solid #e8ece4}
.plan-card .plan-facts>div{min-width:0}
.plan-card .plan-facts strong{display:block;font-size:12px;color:#334b3d;line-height:1.6;overflow-wrap:anywhere}
.plan-card .plan-facts span{font-size:9px;color:#798376;line-height:1.9}
.plan-card .plan-description{font-size:12px;color:#647160;line-height:1.8;overflow-wrap:anywhere}
.plan-description .plan-description-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 8px;line-height:1.8}
.plan-description .plan-feature-preview{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:4px;border:0;line-height:1.8}
.plan-description .plan-feature-preview li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
.plan-description .plan-features li>span{color:#496d42}
.plan-info-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid #e8ece4;padding-top:8px}
.plan-info-actions .text-link{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;min-height:36px;padding:5px 7px;border-radius:6px;color:#47684b;font-size:11px;line-height:1.6;text-align:start;overflow-wrap:anywhere}
.plan-info-actions .text-link:hover{background:#eff4e9}
.plan-info-actions .text-link>span{flex:none;color:#8b9b80}
.plan-card .plan-card-footer{padding-top:15px}
.plan-card-footer .btn{min-height:45px}
.plan-capacity{margin-bottom:14px;font-size:10px;color:#73816e}
.plan-capacity>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;line-height:1.6}
.plan-capacity strong{font-size:10px;font-weight:550;color:#556d4d}
.plan-capacity-track{height:4px;margin-top:8px;background:#e9eee4;border-radius:10px;overflow:hidden}
.plan-capacity-track>span{display:block;height:100%;background:#809a6e;border-radius:10px}
.plan-capacity.is-sold-out strong{color:#87685c}
.plan-capacity small{display:block;margin-top:7px;font-size:10px;color:#8a796e}
.plan-promotion{--promo-ink:#315644;--promo-soft:#edf2e3;--promo-line:#d2dfbf;--promo-art:#769558}
.plan-promotion[data-activity-theme="spring_festival"]{--promo-ink:#943b34;--promo-soft:#fbede0;--promo-line:#e6c5a5;--promo-art:#b67742}
.plan-promotion[data-activity-theme="lantern"]{--promo-ink:#88503a;--promo-soft:#faf0df;--promo-line:#e5ceaa;--promo-art:#b58b40}
.plan-promotion[data-activity-theme="valentine"]{--promo-ink:#92515f;--promo-soft:#f8eaf0;--promo-line:#e6c7d3;--promo-art:#ba7f99}
.plan-promotion[data-activity-theme="womens_day"]{--promo-ink:#6e527b;--promo-soft:#f1ebf5;--promo-line:#d8c8e1;--promo-art:#a183ae}
.plan-promotion[data-activity-theme="dragon_boat"]{--promo-ink:#3e684b;--promo-soft:#edf3e5;--promo-line:#cdddbd;--promo-art:#7d9c5d}
.plan-promotion[data-activity-theme="qixi"]{--promo-ink:#59618a;--promo-soft:#ededf7;--promo-line:#ced0e7;--promo-art:#8d8eb9}
.plan-promotion[data-activity-theme="mid_autumn"]{--promo-ink:#796241;--promo-soft:#f7f0dd;--promo-line:#e2d3a9;--promo-art:#b49a58}
.plan-promotion[data-activity-theme="national_day"]{--promo-ink:#954a3d;--promo-soft:#faebe3;--promo-line:#e6c8b3;--promo-art:#be8c5b}
.plan-promotion[data-activity-theme="shopping_618"]{--promo-ink:#3d6866;--promo-soft:#e9f3ec;--promo-line:#c3ddce;--promo-art:#73a894}
.plan-promotion[data-activity-theme="double_11"]{--promo-ink:#6e5269;--promo-soft:#f3ecf1;--promo-line:#ddcbda;--promo-art:#a689a7}
.plan-promotion[data-activity-theme="double_12"]{--promo-ink:#496485;--promo-soft:#eaf1f7;--promo-line:#c4d7e7;--promo-art:#789bb8}
.plan-promotion[data-activity-theme="christmas"]{--promo-ink:#426349;--promo-soft:#edf2e9;--promo-line:#ccd9c2;--promo-art:#9c9b60}
.plan-promotion .promo-banner{position:relative;isolation:isolate;display:flex;align-items:center;min-height:127px;overflow:hidden;border-bottom:1px solid var(--promo-line);padding:22px;background:var(--promo-soft);color:var(--promo-ink)}
.promo-banner:before{content:"";position:absolute;inset:auto -38px -109px auto;width:210px;height:210px;border:1px solid var(--promo-art);border-radius:50%;opacity:.17;box-shadow:0 0 0 20px var(--promo-soft),0 0 0 21px var(--promo-art);z-index:-1}
.promo-banner-copy{position:relative;z-index:1;min-width:0;padding-right:52px}
.promo-kicker{display:block;margin-bottom:10px;font-size:8px;font-weight:650;letter-spacing:1.8px;opacity:.7}
.promo-banner-copy strong{display:block;font-size:22px;font-weight:600;line-height:1.5;letter-spacing:.5px}
.promo-banner-copy p{margin-top:3px;font-size:10px;line-height:1.7;opacity:.85}
.promo-state{position:absolute;right:18px;top:17px;padding:4px 8px;border:1px solid var(--promo-line);border-radius:20px;background:#ffffff6b;font-size:9px;line-height:1.3;color:var(--promo-ink)}
.promo-art{position:absolute;width:59px;height:59px;right:17px;bottom:18px;color:var(--promo-art);transform:rotate(-9deg)}
.promo-art svg{width:100%;height:100%;overflow:visible}
.plan-promotion[data-activity-theme="mid_autumn"] .promo-art{transform:rotate(11deg)}
.plan-promotion[data-activity-theme="lantern"] .promo-art,.plan-promotion[data-activity-theme="spring_festival"] .promo-art{transform:rotate(7deg)}
.plan-promotion[data-activity-status="ended"] .promo-banner{filter:saturate(.48)}
.plan-promotion[data-activity-status="ended"] .promo-state{background:#ffffff94}
.promo-schedule{margin-top:12px;padding:11px 12px 10px;border:1px solid var(--promo-line);border-radius:11px;background:var(--promo-soft);color:var(--promo-ink)}
.promo-clock{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:8px;font-size:10px;line-height:1.6}
.promo-clock strong{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.2px}
.promo-dates{display:flex;flex-wrap:wrap;gap:0 5px;font-size:9px;line-height:1.8;opacity:.84;font-variant-numeric:tabular-nums}
.promo-schedule>small{display:block;margin-top:3px;font-size:8px;letter-spacing:.25px;opacity:.72}
.purchase-summary.plan-promotion{padding:0;overflow:hidden}
.purchase-summary.plan-promotion .plan-summary-body{padding:25px}
.plan-summary-body>.actions:empty{display:none}
.plan-summary-body>.promo-schedule{margin-bottom:22px}
.plan-summary-body>.notice{margin-top:20px}
.plan-purchase-info.panel{margin:0 0 20px;padding:16px 20px;box-shadow:none;background:#f6f8f1}
.plan-purchase-info>summary{cursor:pointer;font-size:12px;font-weight:600;color:#466243;line-height:1.8}
.plan-common-content{padding-top:13px;font-size:12px;line-height:1.9;color:#65715d}
.plan-common-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.plan-common-features p{display:grid;grid-template-columns:14px minmax(0,1fr);gap:7px;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.plan-common-features p>span{color:#81976d}
.plan-common-content .plan-refund-note{margin:12px 0 0;padding-top:11px;border-top:1px solid #e3e8db;font-size:11px;white-space:pre-line;overflow-wrap:anywhere}
.plan-common-content>.plan-refund-note:first-child{border:0;padding:0;margin:0}
.plan-info-modal.modal{width:680px}
.plan-info-modal .modal-head h2{min-width:0;overflow-wrap:anywhere}
.plan-info-modal .modal-head .icon-button{flex:none}
.plan-dialog-description{min-width:0;overflow-x:auto}
.plan-dialog-description img,.plan-dialog-description video,.plan-dialog-description svg{max-width:100%;height:auto}
.plan-dialog-description .plan-features{padding:0;border:0;line-height:1.9}
.plan-dialog-description .plan-features li{margin:0 0 10px}
.plan-dialog-description .plan-features li>span{color:#496d42}
.plan-policy-limit{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:10px;padding:17px 20px;background:#f0f4e9;color:#5c7452;font-size:12px}
.plan-policy-limit strong{font-size:20px;color:#38543d;overflow-wrap:anywhere}
.plan-info-modal .plan-policy-copy{margin:0;color:#65715d;font-size:13px;line-height:1.95;overflow-wrap:anywhere}
/* Keep media and text in separate flow boxes, including oversized portrait images. */
.product-grid>.product-card{padding:0;min-width:0}
.product-card>.product-image,.product-card>.product-monogram{display:flex;align-items:center;justify-content:center;flex:none;width:100%;height:160px;min-height:160px;overflow:hidden;border-radius:0;border-bottom:1px solid #e8ece4;background:#f3f5ef;padding:18px}
.product-card>.product-image>img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.product-card>.product-monogram{font-size:44px;letter-spacing:0}
.product-card-body{display:flex;flex:1;flex-direction:column;min-width:0;padding:20px}
.product-card-body .product-tags{flex-wrap:wrap;gap:5px;margin:0 0 10px}
.product-tags .badge{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.5}
.product-card-body h2{margin:0 0 8px;font-size:18px;line-height:1.55;overflow-wrap:anywhere;word-break:normal}
.product-card-body .product-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0;font-size:12px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.product-card-footer{margin-top:auto;padding-top:18px}
.product-card-footer .price-row{flex-wrap:wrap;gap:5px 14px;margin-bottom:7px;font-size:11px;overflow-wrap:anywhere}
.product-card-footer .price-row>strong{font-size:19px;font-variant-numeric:tabular-nums;color:#3f5e45}
.product-card-footer>small{display:block;margin-bottom:10px;font-size:10px;overflow-wrap:anywhere}
.product-card-footer>.btn{width:100%;margin-top:9px}
@media(max-width:1100px){.plan-card-body{padding:21px}.plan-promotion .promo-banner{padding:23px 21px}.promo-banner-copy strong{font-size:21px}.promo-clock{flex-wrap:wrap}}
@media(max-width:480px){.plan-card-body{padding:20px}.plan-promotion .promo-banner{padding:21px;min-height:127px}.promo-art{right:22px;bottom:17px}.plan-card .plan-facts{gap:13px}.plan-card .plan-facts strong{font-size:13px}.plan-card .plan-facts span{font-size:10px}.promo-clock{flex-wrap:nowrap}.promo-clock strong{font-size:13px}.promo-dates{font-size:10px}.promo-schedule>small{font-size:9px}.plan-capacity,.plan-capacity strong{font-size:11px}.purchase-summary.plan-promotion .plan-summary-body{padding:20px}.plan-common-features{grid-template-columns:1fr}.plan-purchase-info.panel{padding:15px 17px}.product-card-body{padding:19px}}
@media(prefers-reduced-motion:reduce){.plan-card{transition:none}}
