/*
 * Daisytale × Paid Memberships Pro
 * PMPro's own styles stay in place; this maps its colour and shape variables to the
 * theme's tokens (so palettes and dark mode apply) and refines a few components.
 * Loaded only when PMPro is active, after PMPro's stylesheet.
 */
body{
  --pmpro--color--base:var(--surface);
  --pmpro--color--base-2:var(--paper);
  --pmpro--color--contrast:var(--ink);
  --pmpro--color--accent:var(--ink);
  --pmpro--color--border:var(--line);
  --pmpro--color--info-background:color-mix(in srgb,var(--stem) 10%,var(--surface));
  --pmpro--color--info-border:color-mix(in srgb,var(--stem) 35%,transparent);
  --pmpro--color--info-text:var(--ink);
  --pmpro--color--info-link:var(--stem);
  --pmpro--color--success-background:color-mix(in srgb,#2e8b57 12%,var(--surface));
  --pmpro--color--success-border:color-mix(in srgb,#2e8b57 40%,transparent);
  --pmpro--color--success-text:var(--ink);
  --pmpro--color--success-link:var(--stem);
  --pmpro--color--error-background:color-mix(in srgb,#c0392b 10%,var(--surface));
  --pmpro--color--error-border:color-mix(in srgb,#c0392b 45%,transparent);
  --pmpro--color--error-text:var(--ink);
  --pmpro--color--error-link:var(--stem);
  --pmpro--color--alert-background:color-mix(in srgb,var(--pollen) 16%,var(--surface));
  --pmpro--color--alert-border:color-mix(in srgb,var(--pollen) 55%,transparent);
  --pmpro--color--alert-text:var(--ink);
  --pmpro--color--alert-link:var(--stem);
  --pmpro--base--border-radius:20px;
  --pmpro--btn--border-radius:999px;
  --pmpro--btn--top-bottom-padding:14px;
  --pmpro--btn--left-right-padding:24px;
}

/* Narrower column on login / sign-up / account pages */
.dt-member-page .entry-content{max-width:560px}
.dt-member-page .page-head{padding-bottom:12px}
.dt-member-page .page-head .sec__title{font-size:clamp(36px,6vw,56px)}

.pmpro{font-family:var(--f-ui);color:var(--ink)}
.pmpro .pmpro_card{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}
.pmpro .pmpro_card_title,.pmpro .pmpro_form_heading,.pmpro .pmpro_section_title,.pmpro .pmpro_form_legend{font-family:var(--f-display);font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}
.pmpro .pmpro_card_title{font-size:22px;line-height:1.35}
.pmpro .pmpro_card_content{font-size:16px}
.pmpro .pmpro_form_label{font:500 14px var(--f-display);color:var(--ink)}
.pmpro .pmpro_form_input,.pmpro input.input,.pmpro #loginform input[type=text],.pmpro #loginform input[type=password],.pmpro #lostpasswordform input[type=text]{min-height:52px;padding:10px 16px;border-radius:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:16px var(--f-read);box-shadow:none}
.pmpro .pmpro_form_input:focus,.pmpro input.input:focus{outline:2px solid var(--stem);outline-offset:1px;border-color:var(--stem)}
.pmpro .pmpro_btn,.pmpro input[type=submit],.pmpro #wp-submit{min-height:52px;border-radius:999px;font:500 16px var(--f-display);letter-spacing:0;background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;transition:transform .2s var(--spring)}
.pmpro .pmpro_btn:hover,.pmpro input[type=submit]:hover{transform:translateY(-1px);background:var(--ink);color:var(--paper)}
.pmpro .pmpro_btn-outline,.pmpro .pmpro_btn-plain{background:transparent;color:var(--ink)}
.pmpro #loginform p.login-submit #wp-submit,.pmpro .pmpro_btn-submit-checkout{width:100%}
.pmpro a{color:var(--stem)}
.pmpro .pmpro_actions_nav a,.pmpro .pmpro_card_actions a{font-family:var(--f-display);font-weight:500;text-decoration:none}
.pmpro .pmpro_list_item_label{font:500 13px var(--f-display);color:var(--muted);letter-spacing:0;text-transform:none}
.pmpro .pmpro_message{border-radius:16px;font-size:15px}
.pmpro .pmpro_table th{font-family:var(--f-display);font-weight:500}
.pmpro .pmpro_form_field-password-toggle button{color:var(--stem)}
.pmpro .pmpro_tag{border-radius:999px;font-family:var(--f-display)}
.pmpro .pmpro_form_hint{color:var(--muted)}
#loginform .login-remember label{font:400 15px var(--f-ui);display:flex;align-items:center;gap:8px}

/* Social login buttons (Nextend).
   Colours follow Google's sign-in button rules (white or near-black fill, grey outline, the colour "G");
   shape, size and font follow the theme. */
.social-login{--g-bg:#fff;--g-line:#747775;--g-ink:#1f1f1f;--g-hover:rgba(31,31,31,.06);margin:0 0 22px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .social-login{--g-bg:#131314;--g-line:#8e918f;--g-ink:#e3e3e3;--g-hover:rgba(227,227,227,.08)}}
:root[data-theme="dark"] .social-login{--g-bg:#131314;--g-line:#8e918f;--g-ink:#e3e3e3;--g-hover:rgba(227,227,227,.08)}
.social-login .nsl-container{display:block!important;margin:0!important;padding:0!important}
.social-login .nsl-container-buttons{display:grid!important;gap:10px!important;padding:0!important;width:100%!important;max-width:none!important}
.social-login .nsl-container-buttons a{display:block!important;margin:0!important;border-radius:999px;text-decoration:none!important;-webkit-tap-highlight-color:transparent}
.social-login .nsl-container-buttons a:focus-visible{outline:2px solid var(--stem);outline-offset:3px}
.social-login .nsl-button{position:relative;display:flex!important;align-items:center;justify-content:center;width:100%;min-height:54px;margin:0!important;padding:0 16px 0 48px!important;border-radius:999px!important;background:var(--g-bg)!important;border:1px solid var(--g-line)!important;box-shadow:none!important;color:var(--g-ink)!important;transition:background-color .2s,transform .25s var(--spring)}
.social-login a:hover .nsl-button{background-image:linear-gradient(var(--g-hover),var(--g-hover))!important}
.social-login a:active .nsl-button{transform:scale(.98)}
.social-login .nsl-button-svg-container{position:absolute;left:20px;top:50%;transform:translateY(-50%);margin:0!important;padding:0!important;background:none!important;display:flex}
.social-login .nsl-button-svg-container svg{width:20px;height:20px}
.social-login .nsl-button-label-container{margin:0!important;padding:0!important;font:500 16px/1.3 var(--f-display)!important;letter-spacing:0!important;color:inherit!important;text-align:center;white-space:normal!important;text-transform:none!important}
.social-login .nsl-button-label-container b{font-weight:inherit}
.social-login__or{display:flex;align-items:center;gap:12px;margin:20px 0 0;color:var(--muted);font:400 14px var(--f-ui)}
.social-login__or::before,.social-login__or::after{content:"";flex:1;height:1px;background:var(--line)}

/* Account greeting above PMPro's account page */
.acct-hello{display:flex;align-items:center;gap:16px;margin:0 0 20px}
.acct-hello__kicker{margin:0;font:500 13px var(--f-display);color:var(--stem)}
.acct-hello__name{margin:0;font:500 26px/1.3 var(--f-display);color:var(--ink)}
.entry-content .acct-hello p{font-size:inherit;line-height:inherit;text-indent:0}
.entry-content .gate p{text-indent:0;font:inherit}
.entry-content .gate h2{margin:0}

/* The page title already says "บัญชีของฉัน" */
#pmpro_account-profile > .pmpro_section_title{display:none}
.pmpro_account-profile .pmpro_card_title{font-size:20px}
/* Full-width main button on the sign-up page */
.pmpro_form_submit{display:block}
.pmpro_form_submit .pmpro_btn,.pmpro_form_submit input[type=submit]{width:100%}
.pmpro_form_submit #pmpro_submit_span{display:block;flex:1 1 100%;width:100%}
#pmpro_processing_message{text-align:center;font-size:14px;color:var(--muted)}
/* Free members have no real orders: hide the ฿0 receipt list */
.dt-no-paid-orders #pmpro_account-orders{display:none}
