.tpp-wrap{--tpp-pink:#c90055;--tpp-green:#62af00;--tpp-red:#cc2338;max-width:1120px;margin:24px auto;padding:26px 20px 34px;background:#fff;border-top:3px solid var(--tpp-pink);font-family:inherit;color:#171717;box-sizing:border-box}.tpp-wrap *{box-sizing:border-box}.tpp-heading{text-align:center;color:var(--tpp-pink);font-size:clamp(23px,2.5vw,31px);line-height:1.25;font-weight:500;margin:2px 0 8px}.tpp-subtitle{text-align:center;color:#666;margin:0 0 26px;font-size:14px}.tpp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:18px;align-items:stretch}.tpp-card{background:linear-gradient(180deg,#e8e8e8 0%,#fff 42%);border:1px solid #e1e1e1;border-radius:3px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.tpp-card.is-featured{border-top:4px solid var(--tpp-pink);box-shadow:0 5px 18px #0000000c}.tpp-card-head{text-align:center;padding:20px 15px 15px;border-bottom:1px solid #e4e4e4;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.tpp-eyebrow{display:inline-block;margin:0 0 9px;background:#fce5ef;color:var(--tpp-pink);font-size:11px;font-weight:800;padding:4px 9px;border-radius:20px}.tpp-plan-image{display:block;max-width:100%;width:auto;height:auto;max-height:72px;object-fit:contain;margin:0 auto 8px}.tpp-plan-name{color:var(--tpp-pink);font-size:18px;font-weight:750;line-height:1.3;margin:0 0 10px;overflow-wrap:anywhere}.tpp-price{font-size:25px;font-weight:800;line-height:1.2}.tpp-price span{font-size:13px;font-weight:500;margin-left:4px}.tpp-old-price{font-size:12px;color:#777;text-decoration:line-through;margin-top:4px}.tpp-description{font-size:13px;color:#555;margin:9px 0 0;line-height:1.45}.tpp-card-body{padding:20px 19px 23px;display:flex;flex:1;flex-direction:column}.tpp-features{list-style:none!important;margin:0 0 22px!important;padding:0!important;flex:1}.tpp-features li{display:flex;align-items:flex-start;gap:10px;padding:0 0 12px;margin:0;font-size:14px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.tpp-mark{flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;font-size:19px;font-weight:900;line-height:1.1}.tpp-features .is-yes .tpp-mark{color:var(--tpp-green)}.tpp-features .is-no .tpp-mark{color:var(--tpp-red);font-size:23px;margin-top:-2px}.tpp-features .is-no span:last-child{color:#777;font-weight:500}.tpp-button{display:block;width:100%;text-align:center;text-decoration:none!important;background:var(--tpp-pink);color:#fff!important;border-radius:2px;padding:12px 14px;font-size:13px;line-height:1.3;font-weight:800;transition:filter .15s ease;margin-top:auto}.tpp-button:hover,.tpp-button:focus{filter:brightness(.92);color:#fff!important}.tpp-button-disabled{opacity:.6;cursor:default}@media(max-width:560px){.tpp-wrap{padding:18px 12px 24px;margin:14px auto}.tpp-cards{grid-template-columns:1fr;gap:14px}.tpp-card-head{min-height:0;padding:18px 12px 14px}.tpp-card-body{padding:18px}.tpp-plan-image{max-height:66px}}
/* Selettore circolare del piano */
.tpp-card{position:relative;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;cursor:pointer}
.tpp-card.is-selected{border-color:var(--tpp-pink);box-shadow:0 0 0 2px #c9005524,0 7px 22px #00000010}
.tpp-card.is-selected .tpp-card-head{background:linear-gradient(180deg,#fbeaf1 0%,#fff 100%)}
.tpp-select-plan{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 12px;cursor:pointer;user-select:none;color:#565656;font-size:12px;font-weight:700}
.tpp-plan-radio{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;clip:rect(0,0,0,0)!important;overflow:hidden!important}
.tpp-radio-visual{height:19px;width:19px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #a8a8a8;border-radius:50%;background:#fff;flex:0 0 19px;transition:border-color .15s ease,box-shadow .15s ease}
.tpp-radio-visual:after{content:"";width:9px;height:9px;display:block;border-radius:50%;background:transparent;transition:background .15s ease}
.tpp-plan-radio:checked+.tpp-radio-visual{border-color:var(--tpp-pink);box-shadow:0 0 0 3px #c9005515}
.tpp-plan-radio:checked+.tpp-radio-visual:after{background:var(--tpp-pink)}
.tpp-plan-radio:focus-visible+.tpp-radio-visual{outline:3px solid #c9005555;outline-offset:3px}
.tpp-select-plan:has(.tpp-plan-radio:checked){color:var(--tpp-pink)}
.tpp-card.is-selected .tpp-button{box-shadow:0 2px 7px #c9005530}
@media(prefers-reduced-motion:reduce){.tpp-card,.tpp-radio-visual,.tpp-radio-visual:after{transition:none}}

/* Layout a schede: in alto si sceglie il piano, sotto si mostra solo quello attivo */
.tpp-plan-tabs{display:flex;align-items:stretch;gap:0;padding:0 0 0 0;position:relative;z-index:2;max-width:100%;overflow-x:auto}
.tpp-plan-tab{flex:1 1 0;min-width:0;padding:12px 14px 10px;text-align:center;cursor:pointer;background:#fff;border:1px solid transparent;border-bottom:0;color:#222;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;position:relative}
.tpp-plan-tab.is-active{background:#e8e8e8;border-color:#e2e2e2;border-bottom-color:#e8e8e8;border-radius:3px 3px 0 0}
.tpp-tab-title-row{display:flex;align-items:center;justify-content:center;gap:7px;min-height:22px;max-width:100%}
.tpp-tab-name{font-size:16px;line-height:1.25;color:var(--tpp-pink);font-weight:800;overflow-wrap:anywhere}
.tpp-tab-image{width:auto;height:auto;max-width:52px;max-height:25px;object-fit:contain}
.tpp-tab-price{font-size:14px;font-weight:800;line-height:1.25;white-space:normal}
.tpp-tab-price span{font-size:12px;font-weight:500;margin-left:3px}
.tpp-tab-trial{display:inline-block;margin-top:5px;padding:3px 8px;border-radius:12px;background:#e8f6ec;color:#176b32;font-size:11px;font-weight:700;line-height:1.35}
.tpp-tab-old-price{font-size:10px;color:#777;text-decoration:line-through;line-height:1.2}
.tpp-plan-radio{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;clip:rect(0,0,0,0)!important;overflow:hidden!important}
.tpp-radio-visual{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #aaa;border-radius:50%;background:#fff;flex:0 0 17px;transition:border-color .15s ease,box-shadow .15s ease}
.tpp-radio-visual:after{content:"";width:9px;height:9px;display:block;border-radius:50%;background:transparent}
.tpp-plan-radio:checked+.tpp-radio-visual{border-color:#222}
.tpp-plan-radio:checked+.tpp-radio-visual:after{background:#222}
.tpp-plan-radio:focus-visible+.tpp-radio-visual{outline:3px solid #c9005555;outline-offset:3px}
.tpp-plan-tab:has(.tpp-plan-radio:checked) .tpp-tab-name{color:var(--tpp-pink)}
.tpp-selection-panels{position:relative;background:linear-gradient(180deg,#e8e8e8 0%,#fff 83%);min-height:175px;margin-top:0;padding:20px 28px 25px;border:0;border-radius:0 0 3px 3px}
.tpp-selection-panel[hidden]{display:none!important}
.tpp-selection-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,1fr);gap:28px;align-items:start;min-height:145px}
.tpp-panel-features{min-width:0;padding-top:0}
.tpp-panel-features .tpp-features{margin-bottom:0!important}
.tpp-panel-cta{min-width:0;padding-top:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.tpp-panel-cta .tpp-button{max-width:360px}
.tpp-panel-cta .tpp-button-disabled{width:100%;max-width:360px;text-align:center}
.tpp-selection-panels .tpp-features li{padding-bottom:7px;font-size:14px}
.tpp-selection-panels .tpp-description{margin:0 0 12px}
@media(max-width:600px){
 .tpp-wrap{padding:18px 10px 24px}
 .tpp-plan-tabs{overflow-x:auto}
 .tpp-plan-tab{padding:10px 7px 9px;flex:1 0 0;min-width:0}
 .tpp-tab-title-row{gap:5px;flex-wrap:wrap}
 .tpp-tab-name{font-size:14px}
 .tpp-tab-price{font-size:12px}
 .tpp-tab-price span{font-size:10px}
 .tpp-tab-old-price{font-size:9px}
 .tpp-tab-image{max-width:32px;max-height:20px}
 .tpp-selection-panels{padding:18px 15px 22px}
 .tpp-selection-panel{grid-template-columns:1fr;gap:18px}
 .tpp-panel-cta{padding-top:0}
}

/* Un unico pulsante Abbonati condiviso: il link si aggiorna in base al piano selezionato */
.tpp-selection-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,1fr);gap:28px;align-items:start}
.tpp-selection-panel{display:block;min-width:0;min-height:145px;grid-column:1;grid-row:1}
.tpp-selection-panel[hidden]{display:none!important}
.tpp-panel-cta{grid-column:2;grid-row:1;min-width:0;padding-top:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.tpp-panel-cta .tpp-button{max-width:360px}
.tpp-button-disabled{opacity:.55;cursor:not-allowed;pointer-events:auto}
@media(max-width:600px){
 .tpp-selection-panels{grid-template-columns:1fr;gap:18px}
 .tpp-selection-panel{grid-column:1;grid-row:1;min-height:0}
 .tpp-panel-cta{grid-column:1;grid-row:2;padding-top:0}
}

/* Titolo immagine selezionabile come alternativa al testo */
.tpp-tab-title-image{max-width:120px;width:auto;max-height:34px;object-fit:contain;margin:0 auto}
.tpp-admin .tpp-field select{width:100%;max-width:100%;min-height:32px}
@media(max-width:600px){.tpp-tab-title-image{max-width:80px;max-height:26px}}

/* Badge stella per piano consigliato */
.tpp-recommended-star{display:inline-flex;align-items:center;gap:4px;margin:0 auto 4px;color:#9a6500;background:#fff4d6;border:1px solid #f0d58a;border-radius:999px;padding:3px 8px;font-size:10px;line-height:1.2;font-weight:800}
.tpp-admin .tpp-plan-head>div{display:flex;gap:8px;align-items:center}
.tpp-admin .tpp-plan-head .button{white-space:nowrap}

.tpp-payment-form{width:100%;max-width:360px;margin:0 auto 10px}.tpp-payment-submit{border:0;cursor:pointer;font-family:inherit}
.tpp-account-card{max-width:760px;margin:24px auto;padding:26px;background:#fff;border:1px solid #e7e7e7;border-top:4px solid #c90055;border-radius:10px;box-shadow:0 8px 30px #0000000b;color:#202124}
.tpp-account-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#666;font-size:11px;font-weight:800;letter-spacing:.08em}.tpp-account-status{background:#e8f6e9;color:#217a31;padding:5px 10px;border-radius:999px;letter-spacing:0}
.tpp-account-card h2{font-size:26px;margin:18px 0;color:#c90055}.tpp-account-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 24px}.tpp-account-details>div{padding:14px;background:#f8f8fa;border-radius:7px;min-width:0}.tpp-account-details span{display:block;font-size:12px;color:#666;margin-bottom:7px}.tpp-account-details strong{font-size:14px;overflow-wrap:anywhere}.tpp-cancel-button{background:#fff;color:#b42332;border:1px solid #b42332;border-radius:5px;padding:11px 18px;font-weight:700;cursor:pointer}
@media(max-width:600px){.tpp-account-card{padding:18px}.tpp-account-details{grid-template-columns:1fr}}


/* Area personale abbonamento: riepilogo chiaro, informazioni complete e stato del rinnovo */
.tpp-account-page{max-width:900px;padding:clamp(20px,3vw,34px)}
.tpp-account-page .tpp-account-top{font-size:11px}
.tpp-account-page .tpp-account-status{background:#e8f6e9;color:#217a31;font-size:11px;white-space:nowrap}
.tpp-account-page .tpp-account-status.tpp-status-cancelling{background:#fff4dd;color:#8b5b00}
.tpp-account-page .tpp-account-status.tpp-status-canceled{background:#f0f0f2;color:#555}
.tpp-account-page .tpp-account-status.tpp-status-past_due,.tpp-account-page .tpp-account-status.tpp-status-unpaid,.tpp-account-page .tpp-account-status.tpp-status-incomplete{background:#fde8e8;color:#a61b1b}
.tpp-account-intro{color:#62666d;line-height:1.6;margin:0 0 22px}
.tpp-account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 27px}
.tpp-account-price,.tpp-account-renewal{padding:20px;border:1px solid #ececf0;border-radius:10px;background:linear-gradient(135deg,#fbf7f9,#fff)}
.tpp-account-price span,.tpp-account-renewal span{display:block;color:#62666d;font-size:12px;margin-bottom:8px}
.tpp-account-price strong{display:block;color:#c90055;font-size:27px;line-height:1.2;overflow-wrap:anywhere}
.tpp-account-renewal strong{display:block;color:#202124;font-size:18px;line-height:1.35;overflow-wrap:anywhere}
.tpp-account-price small,.tpp-account-renewal small{display:block;margin-top:7px;color:#777;font-size:12px;line-height:1.45}
.tpp-account-section-title,.tpp-account-manage h3{font-size:17px;margin:0 0 13px;color:#252525}
.tpp-account-page .tpp-account-details{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 26px;gap:10px}
.tpp-account-page .tpp-account-details>div{padding:14px;background:#f8f8fa;border:1px solid #f0f0f3;border-radius:8px}
.tpp-account-page .tpp-account-details strong{display:block;line-height:1.4}
.tpp-account-manage{padding:20px;border:1px solid #ececf0;border-radius:10px;background:#fff}
.tpp-account-manage p,.tpp-account-notice p{color:#62666d;font-size:13px;line-height:1.6;margin:0 0 15px}
.tpp-account-notice{padding:17px 20px;border:1px solid #f0dba5;border-radius:9px;background:#fff9e9;color:#805800}
.tpp-account-notice strong{display:block;margin-bottom:6px}
.tpp-account-notice p{margin-bottom:0;color:#745b27}
.tpp-account-notice.is-ended{background:#f7f7f8;border-color:#e6e6e8;color:#444}
.tpp-account-notice.is-ended p{color:#666}
.tpp-account-notice.is-warning{background:#fff0f0;border-color:#f3cbcb;color:#9b2424}
.tpp-account-notice.is-warning p{color:#8c3c3c}
.tpp-account-login{display:inline-block;color:#c90055;font-weight:700;text-decoration:none}
@media(max-width:650px){.tpp-account-summary{grid-template-columns:1fr}.tpp-account-page .tpp-account-details{grid-template-columns:repeat(2,minmax(0,1fr))}.tpp-account-page .tpp-account-top{align-items:flex-start}.tpp-account-price strong{font-size:24px}}
@media(max-width:420px){.tpp-account-page .tpp-account-details{grid-template-columns:1fr}}

/* High contrast for subscription actions, including themes with generic button overrides. */
.tpp-account-page .tpp-account-manage .tpp-cancel-button,
.tpp-account-page .tpp-account-manage button.tpp-cancel-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 12px 22px !important;
    background: #a40032 !important;
    color: #fff !important;
    border: 2px solid #a40032 !important;
    border-radius: 7px !important;
    font: 700 16px/1.3 inherit !important;
    text-align: center !important;
    text-decoration: none !important;
    opacity: 1 !important;
    cursor: pointer !important;
}
.tpp-account-page .tpp-account-manage .tpp-cancel-button:hover {
    background: #790025 !important;
    color: #fff !important;
    border-color: #790025 !important;
}
.tpp-account-page .tpp-account-manage .tpp-cancel-button:focus-visible {
    outline: 3px solid #252525 !important;
    outline-offset: 3px !important;
}

.tpp-account-renew-menu{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 18px;padding:16px 18px;border:1px solid #e5d5dc;border-radius:8px;background:#fff9fb}
.tpp-account-renew-menu label{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#292329}
.tpp-account-renew-menu label strong{font-size:16px;color:#a40032}
.tpp-account-renew-menu select{min-width:220px;min-height:42px;padding:8px 34px 8px 12px;border:1px solid #a40032;border-radius:6px;background-color:#fff;color:#252525;font:600 14px/1.4 inherit;cursor:pointer}
.tpp-account-renew-menu select:focus-visible{outline:3px solid #252525;outline-offset:2px}
.tpp-account-renew-menu small{color:#62666d;font-size:12px}

.tpp-account-renew-menu select{color:#252525 !important;background:#fff !important;font-family:inherit !important;font-size:14px !important;font-weight:600 !important;line-height:1.4 !important}
.tpp-account-renew-menu select option{color:#252525 !important;background:#fff !important}
.tpp-account-renew-menu form{margin:0}
.tpp-account-renew-menu .tpp-renew-button{min-height:44px;padding:10px 22px;border:2px solid #a40032;border-radius:7px;background:#a40032;color:#fff;font:700 15px/1.3 inherit;cursor:pointer}
.tpp-account-renew-menu .tpp-renew-button:hover{border-color:#790025;background:#790025;color:#fff}
.tpp-account-renew-menu .tpp-renew-button:focus-visible{outline:3px solid #252525;outline-offset:3px}

.tpp-billing-choice{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0 0 12px;color:#252525;font-size:14px;font-weight:600}
.tpp-billing-choice select{min-width:250px;min-height:44px;padding:9px 34px 9px 12px;border:1px solid #a40032;border-radius:6px;background:#fff;color:#252525;font:600 14px/1.4 inherit}
.tpp-billing-choice select:focus-visible{outline:3px solid #252525;outline-offset:2px}
.tpp-billing-choice select option:disabled{color:#999}

.tpp-payment-form fieldset.tpp-billing-choice{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;max-width:360px;margin:0 auto 14px;padding:0;border:0}
.tpp-payment-form .tpp-billing-choice legend{margin:0 0 2px;padding:0;color:#252525;font-size:14px;font-weight:700}
.tpp-payment-form .tpp-billing-choice label{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;border:1px solid #d8d8de;border-radius:6px;background:#fff;color:#252525;font-size:14px;font-weight:600;cursor:pointer}
.tpp-payment-form .tpp-billing-choice label:has(input:checked){border-color:#a40032;background:#fff7fa;box-shadow:0 0 0 1px #a40032}
.tpp-payment-form .tpp-billing-choice input[type=radio]{width:18px;height:18px;margin:0;accent-color:#a40032;flex:0 0 auto}
.tpp-payment-form .tpp-billing-choice input:disabled+span{color:#999}
.tpp-billing-modal[hidden],.tpp-annual-option[hidden]{display:none!important}
.tpp-billing-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}
.tpp-billing-backdrop{position:absolute;inset:0;background:rgba(15,15,20,.72)}
.tpp-billing-dialog{position:relative;z-index:1;width:min(100%,460px);padding:26px;border-radius:12px;background:#fff;color:#20202a;box-shadow:0 18px 60px rgba(0,0,0,.3)}
.tpp-billing-dialog h3{margin:0 0 8px;color:#a40032;font-size:22px}
.tpp-billing-dialog>p{margin:0 0 20px;color:#555;font-size:14px}
.tpp-billing-form{width:100%}
.tpp-billing-form .tpp-billing-choice{display:flex;flex-direction:column;gap:9px;margin:0 0 20px;padding:0;border:0}
.tpp-billing-form .tpp-billing-choice legend{margin:0 0 8px;padding:0;color:#252525;font-size:14px;font-weight:700}
.tpp-billing-form .tpp-billing-choice label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #d8d8de;border-radius:7px;background:#fff;color:#252525;font-size:14px;font-weight:600;cursor:pointer}
.tpp-billing-form .tpp-billing-choice label:has(input:checked){border-color:#a40032;background:#fff7fa;box-shadow:0 0 0 1px #a40032}
.tpp-billing-form .tpp-billing-choice input[type=radio]{width:18px;height:18px;margin:0;accent-color:#a40032;flex:0 0 auto}
.tpp-billing-form .tpp-coupon-field{display:flex;flex-direction:column;gap:7px;margin:0 0 20px;color:#252525;font-size:14px;font-weight:700}
.tpp-billing-form .tpp-coupon-field[hidden]{display:none!important}
.tpp-billing-form .tpp-coupon-field input{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #c9c9d1;border-radius:6px;background:#fff;color:#252525;font:400 14px/1.4 inherit}
.tpp-billing-form .tpp-coupon-field input:focus-visible{border-color:#a40032;outline:3px solid rgba(164,0,50,.16);outline-offset:1px}
.tpp-coupon-error{max-width:840px;margin:0 auto 18px;padding:13px 16px;border:1px solid #e6b5c5;border-radius:7px;background:#fff1f5;color:#8a002b;font-weight:600}
.tpp-billing-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.tpp-billing-cancel{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:2px solid #a40032!important;border-radius:6px;background:#fff!important;color:#a40032!important;font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;cursor:pointer}
.tpp-billing-form .tpp-payment-submit{max-width:none;min-height:42px;padding:8px 18px}
.tpp-portal{max-width:1100px;margin:24px auto;color:#20202a}
.tpp-portal-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:28px;border-radius:12px;background:#202027;color:#fff}
.tpp-portal-header>div>span{color:#f2a0bf;font-size:11px;font-weight:700;letter-spacing:.12em}
.tpp-portal-header h2{margin:8px 0;color:#fff;font-size:28px}
.tpp-portal-header p{margin:0;color:#d1d1d8}
.tpp-portal-logout{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid #777;border-radius:6px;color:#fff!important;text-decoration:none!important;font-weight:700}
.tpp-portal-nav{display:flex;gap:8px;margin:0 0 18px;padding:8px;border:1px solid #e1e1e8;border-radius:10px;background:#fff}
.tpp-portal-nav button{min-height:42px;padding:10px 16px;border:0!important;border-radius:7px;background:transparent!important;color:#383842!important;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}
.tpp-portal-nav button.is-active{background:#a40032!important;color:#fff!important}
.tpp-portal-section[hidden]{display:none!important}
.tpp-portal-card{max-width:none}
.tpp-portal .tpp-account-page{max-width:none;margin:0}
.tpp-portal-empty{padding:24px;border:1px dashed #d1d1d8;border-radius:8px;color:#666;text-align:center}
.tpp-history-list{display:flex;flex-direction:column;gap:10px}
.tpp-history-item{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;border:1px solid #e4e4ea;border-radius:8px;background:#fff}
.tpp-history-item>div:first-child{display:flex;flex-direction:column;gap:6px}
.tpp-history-item>div:first-child strong{color:#272730}
.tpp-history-item span{color:#6e6e78;font-size:13px}
.tpp-history-amount{display:flex;align-items:flex-end;flex-direction:column;gap:5px;white-space:nowrap}
.tpp-history-amount strong{color:#a40032;font-size:16px}
.tpp-history-amount a{font-size:13px;font-weight:600}
.tpp-history-note{margin-top:14px;color:#666;font-size:13px}
.tpp-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px}
.tpp-profile-form label{display:flex;flex-direction:column;gap:6px;color:#333;font-size:14px;font-weight:700}
.tpp-profile-form input{width:100%;min-height:44px;padding:9px 11px;border:1px solid #cfcfd7;border-radius:6px;background:#fff;color:#222;font:inherit}
.tpp-profile-username{grid-column:1/-1;margin:0;color:#666;font-size:13px}
.tpp-profile-save{justify-self:start;min-height:44px;padding:10px 18px;border:0;border-radius:6px;background:#a40032;color:#fff;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}
.tpp-profile-success{margin:0 0 16px;padding:12px 14px;border-radius:6px;background:#e9f7ee;color:#176536;font-weight:600}
@media(max-width:640px){.tpp-portal-header{align-items:flex-start;flex-direction:column;padding:22px}.tpp-portal-nav{overflow-x:auto}.tpp-portal-nav button{white-space:nowrap}.tpp-history-item{align-items:flex-start;flex-direction:column}.tpp-history-amount{align-items:flex-start}.tpp-profile-form{grid-template-columns:1fr}}
/* Keep profile controls visible and legible when the active WordPress theme resets form styles. */
.tpp-portal .tpp-profile-form label{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;color:#292932!important;font-size:14px!important;font-weight:700!important;line-height:1.4!important}
.tpp-portal .tpp-profile-form input[type="text"],
.tpp-portal .tpp-profile-form input[type="email"]{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;margin:0!important;padding:11px 13px!important;border:1px solid #aeb0bb!important;border-radius:7px!important;background:#fff!important;background-image:none!important;color:#24242c!important;font-family:inherit!important;font-size:15px!important;font-weight:400!important;line-height:1.4!important;box-shadow:inset 0 1px 2px rgba(20,20,30,.06)!important;opacity:1!important;visibility:visible!important}
.tpp-portal .tpp-profile-form input[type="text"]:focus,
.tpp-portal .tpp-profile-form input[type="email"]:focus{border-color:#a40032!important;outline:3px solid rgba(164,0,50,.16)!important;outline-offset:1px!important;box-shadow:0 0 0 1px #a40032!important}
.tpp-portal .tpp-profile-username{grid-column:1/-1!important;color:#62666d!important;font-size:13px!important}
.tpp-portal .tpp-profile-save{display:inline-flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important}
.tpp-tab-unavailable{display:inline-block;margin-top:7px;padding:4px 8px;border-radius:20px;background:#f1f1f2;color:#666;font-size:11px;font-weight:700;line-height:1.3}
.tpp-plan-tab.is-unavailable{opacity:.78}
.tpp-payment-submit:disabled{opacity:.58!important;cursor:not-allowed!important;filter:grayscale(.2)}
