/* Sylhet & UK Matrimony — shared base (tokens, buttons, form controls, interaction states). No dependencies.
 *
 * Hover-text bug fix: the old rule `.sum-wrap a{color:teal}` out-ranked `.sum-btn--primary{color:#fff}`, so link-style
 * buttons were teal-on-teal, and theme rules such as `button:hover{color:…}` / `a:hover{color:…}` could flip text to
 * the background colour. Every interactive element now sets color AND background for rest/hover/focus/active at
 * `.sum-wrap` specificity, so text stays legible in every state.
 */
.sum-wrap{
	/* Accent follows the active theme / Elementor palette; override any variable in Elementor > Custom CSS. */
	--sum-primary:var(--sum-accent,var(--wp--preset--color--primary,var(--e-global-color-accent,var(--e-global-color-primary,#0f766e))));
	--sum-on-primary:#fff;
	--sum-primary-dark:color-mix(in srgb,var(--sum-primary) 82%,#000);
	--sum-primary-deep:color-mix(in srgb,var(--sum-primary) 66%,#000);
	/* Core palette: high-contrast black text by default; everything can be changed under Matrimony > Settings > Appearance. */
	--sum-text:var(--sum-text-color,#111111);
	--sum-muted:color-mix(in srgb,var(--sum-text) 62%,transparent);
	--sum-line:color-mix(in srgb,var(--sum-text) 16%,transparent);
	--sum-tint:color-mix(in srgb,var(--sum-text) 6%,transparent);
	--sum-soft:color-mix(in srgb,var(--sum-primary) 9%,transparent);
	--sum-ring-color:color-mix(in srgb,var(--sum-primary) 35%,transparent);
	--sum-selected:color-mix(in srgb,var(--sum-primary) 18%,transparent);
	/* Liquid glass (always on): frosted fill, light stroke, blur. */
	--sum-glass-bg:rgba(255,255,255,.55);
	--sum-glass-border:rgba(255,255,255,.7);
	--sum-glass-blur:blur(18px) saturate(160%);
	--sum-surface:rgba(255,255,255,.55);
	--sum-surface-solid:rgba(255,255,255,.92);
	--sum-bg:transparent;
	--sum-fs:16px;
	--sum-btn-size:15px;--sum-btn-bg:var(--sum-primary);--sum-btn-color:#ffffff;
	--sum-avatar:56px;
	--sum-danger:#b91c1c;--sum-radius:14px;
	--sum-line-height:var(--plugin-line-height,1.6);--sum-spacing:var(--plugin-spacing,12px);--sum-gap:var(--plugin-gap,16px);
	--sum-shadow:0 1px 2px rgba(0,0,0,.05),0 8px 24px rgba(0,0,0,.06);--sum-shadow-hover:0 2px 4px rgba(0,0,0,.06),0 16px 36px rgba(0,0,0,.12);
	--sum-glass:var(--sum-glass-bg);
	font-family:var(--sum-font,inherit);font-size:var(--sum-fs);color:var(--sum-text);line-height:var(--sum-line-height);max-width:1180px;margin-inline:auto;padding:var(--sum-spacing)}
@supports not (color:color-mix(in srgb,red,blue)){.sum-wrap{--sum-primary-dark:#115e59;--sum-primary-deep:#134e4a;--sum-muted:#4b5563;--sum-line:#d1d5db;--sum-tint:#f3f4f6;--sum-soft:#f0fdfa;--sum-ring-color:#99f6e4}}
.sum-wrap *,.sum-wrap *::before,.sum-wrap *::after{box-sizing:border-box}
.sum-wrap h2{font-size:calc(var(--sum-fs,16px)*1.25);margin:1.4em 0 .6em;color:var(--sum-text)}
.sum-muted{color:var(--sum-muted);font-size:calc(var(--sum-fs,16px)*.9)}
.sum-error{color:var(--sum-danger);margin:.5em 0;font-size:calc(var(--sum-fs,16px)*.95)}

/* Plain links (buttons are excluded so they keep their own colours) */
.sum-wrap a:not(.sum-btn){color:var(--sum-primary);text-decoration:underline}
.sum-wrap a:not(.sum-btn):hover,.sum-wrap a:not(.sum-btn):focus,.sum-wrap a:not(.sum-btn):active{color:var(--sum-primary-deep)}

/* Buttons: <button> and <a class="sum-btn"> behave identically */
.sum-wrap .sum-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border:1px solid var(--sum-line);border-radius:10px;background:var(--sum-surface);color:var(--sum-text);-webkit-text-fill-color:var(--sum-text);font:inherit;font-size:var(--sum-btn-size);line-height:1.4;text-decoration:none;text-shadow:none;box-shadow:none;cursor:pointer;transition:background-color .15s,border-color .15s}
.sum-wrap .sum-btn:hover,.sum-wrap .sum-btn:focus,.sum-wrap .sum-btn:active{background:var(--sum-tint);border-color:var(--sum-line);color:var(--sum-text);-webkit-text-fill-color:var(--sum-text);text-decoration:none}
.sum-wrap .sum-btn:active{background:var(--sum-line)}
.sum-wrap .sum-btn--primary,.sum-wrap a.sum-btn--primary{background:var(--sum-btn-bg);border-color:var(--sum-btn-bg);color:var(--sum-btn-color);-webkit-text-fill-color:var(--sum-btn-color)}
.sum-wrap .sum-btn--primary:hover,.sum-wrap .sum-btn--primary:focus,.sum-wrap a.sum-btn--primary:hover,.sum-wrap a.sum-btn--primary:focus{background:color-mix(in srgb,var(--sum-btn-bg) 84%,#000);border-color:color-mix(in srgb,var(--sum-btn-bg) 84%,#000);color:var(--sum-btn-color);-webkit-text-fill-color:var(--sum-btn-color)}
.sum-wrap .sum-btn--primary:active,.sum-wrap a.sum-btn--primary:active{background:color-mix(in srgb,var(--sum-btn-bg) 70%,#000);border-color:color-mix(in srgb,var(--sum-btn-bg) 70%,#000);color:var(--sum-btn-color);-webkit-text-fill-color:var(--sum-btn-color)}
.sum-wrap .sum-btn:focus-visible{outline:3px solid var(--sum-ring-color);outline-offset:2px}
.sum-wrap .sum-btn[disabled],.sum-wrap .sum-btn[disabled]:hover{opacity:.55;cursor:not-allowed;background:var(--sum-surface);color:var(--sum-text);-webkit-text-fill-color:var(--sum-text)}
.sum-wrap .sum-btn--primary[disabled],.sum-wrap .sum-btn--primary[disabled]:hover{background:var(--sum-btn-bg);color:var(--sum-btn-color);-webkit-text-fill-color:var(--sum-btn-color)}
.sum-wrap .sum-btn--block{width:100%}
.sum-wrap .sum-btn--sm{padding:6px 12px;font-size:calc(var(--sum-btn-size)*.92)}

/* Form controls */
.sum-wrap input[type=text],.sum-wrap input[type=number],.sum-wrap input[type=email],.sum-wrap input[type=password],.sum-wrap input[type=tel],.sum-wrap input[type=file],.sum-wrap select,.sum-wrap textarea{width:100%;padding:10px;border:1px solid var(--sum-line);border-radius:10px;font:inherit;line-height:1.4;color:var(--sum-text);-webkit-text-fill-color:var(--sum-text);background:var(--sum-surface);box-shadow:none;text-shadow:none}
.sum-wrap input[type=text]:hover,.sum-wrap input[type=number]:hover,.sum-wrap input[type=email]:hover,.sum-wrap input[type=password]:hover,.sum-wrap input[type=tel]:hover,.sum-wrap input[type=file]:hover,.sum-wrap select:hover,.sum-wrap textarea:hover{border-color:var(--sum-line);color:var(--sum-text);-webkit-text-fill-color:var(--sum-text);background:var(--sum-surface)}
.sum-wrap input:focus,.sum-wrap select:focus,.sum-wrap textarea:focus,.sum-wrap input:active,.sum-wrap select:active,.sum-wrap textarea:active{border-color:var(--sum-primary);color:var(--sum-text);-webkit-text-fill-color:var(--sum-text);background:var(--sum-surface);outline:2px solid var(--sum-ring-color);outline-offset:1px}
.sum-wrap select option{color:#111111;background:#ffffff}
.sum-wrap input[readonly]{background:var(--sum-tint)}
.sum-wrap ::placeholder{color:var(--sum-muted);opacity:1}
.sum-wrap .is-invalid{border-color:var(--sum-danger)!important;background:#fef2f2!important}

/* Notices, cards, badges */
.sum-notice{background:var(--sum-soft);border:1px solid var(--sum-ring-color);border-radius:10px;padding:10px 14px;margin-bottom:14px;color:var(--sum-text)}
.sum-notice--warn{background:#fef2f2;border-color:#fecaca}
.sum-notice--review{background:#fffbeb;border-color:#fde68a;font-size:calc(var(--sum-fs,16px)*1.02);padding:16px 18px}
.sum-card{background:var(--sum-bg);border:1px solid var(--sum-line);border-radius:var(--sum-radius);padding:calc(var(--sum-spacing)*1.6);margin-bottom:var(--sum-spacing);color:var(--sum-text)}
.sum-badge{display:inline-block;background:#dcfce7;color:#166534;border-radius:99px;padding:1px 10px;font-size:calc(var(--sum-fs,16px)*.78);margin-inline-start:6px;vertical-align:middle}

@media (prefers-reduced-motion:reduce){.sum-wrap .sum-btn{transition:none}}

.sum-notice--info{background:#eff6ff;border-color:#bfdbfe}
.sum-text-ok{color:#166534}
.sum-text-bad{color:var(--sum-danger)}
.sum-offscreen{position:fixed;opacity:0;pointer-events:none}

/* ---- 2.5 design layer: soft elevation, glass surfaces, micro-interactions ---- */
.sum-wrap .sum-card{border-color:rgba(226,232,240,.9);box-shadow:var(--sum-shadow);background:var(--sum-surface)}
.sum-wrap .sum-btn{border-radius:12px;font-weight:600;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s}
.sum-wrap .sum-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,23,42,.1)}
.sum-wrap .sum-btn:active{transform:none;box-shadow:none}
.sum-wrap input:focus,.sum-wrap select:focus,.sum-wrap textarea:focus{box-shadow:0 0 0 4px rgba(20,184,166,.15)}
.sum-badge{background:linear-gradient(135deg,#dcfce7,#bbf7d0);font-weight:600}
@media (prefers-reduced-motion:reduce){.sum-wrap .sum-btn,.sum-wrap .sum-btn:hover{transition:none;transform:none}}

/* ---- 2.7 Liquid glass: baked in, no switch ---- */
.sum-wrap .sum-card,.sum-wrap .sum-profile,.sum-wrap .sum-filters,.sum-wrap .sum-hub,.sum-wrap .sum-row,.sum-wrap .sum-me,.sum-wrap .sum-contact,.sum-wrap .sum-onb .sum-check,.sum-wrap .sum-pay__card{
	background:var(--sum-glass-bg);border:1px solid var(--sum-glass-border);
	-webkit-backdrop-filter:var(--sum-glass-blur);backdrop-filter:var(--sum-glass-blur);
	box-shadow:var(--sum-shadow),inset 0 1px 0 rgba(255,255,255,.65)}
.sum-wrap .sum-dialog{background:var(--sum-surface-solid);color:var(--sum-text);-webkit-backdrop-filter:var(--sum-glass-blur);backdrop-filter:var(--sum-glass-blur);border:1px solid var(--sum-glass-border)}
.sum-wrap .sum-dialog__bar{background:transparent}
.sum-wrap .sum-btn{background:var(--sum-glass-bg);border-color:var(--sum-glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.sum-wrap .sum-btn:hover{background:rgba(255,255,255,.8)}
.sum-wrap .sum-btn--primary,.sum-wrap a.sum-btn--primary{background:var(--sum-btn-bg);border-color:var(--sum-btn-bg)}
.sum-wrap .sum-btn--primary:hover,.sum-wrap a.sum-btn--primary:hover{background:color-mix(in srgb,var(--sum-btn-bg) 84%,#000)}
.sum-wrap .sum-btn--ghost{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
	.sum-wrap{--sum-glass-bg:rgba(255,255,255,.92);--sum-surface:rgba(255,255,255,.95)}}
@media (prefers-reduced-transparency:reduce){.sum-wrap{--sum-glass-bg:rgba(255,255,255,.96);--sum-surface:#fff;--sum-surface-solid:#fff}}
