/* ===== Glass buttons (green / yellow) ===== */
.fm-buy{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 12px;max-width:540px}
.fm-glass{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 26px;border-radius:999px;border:1px solid rgba(255,255,255,.6);font-family:inherit;font-size:18px;font-weight:700;line-height:1;letter-spacing:.01em;text-decoration:none!important;cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(14px) saturate(1.7);backdrop-filter:blur(14px) saturate(1.7);transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;-webkit-tap-highlight-color:transparent}
.fm-glass svg{width:20px;height:20px;flex:0 0 auto}
.fm-glass::before{content:'';position:absolute;z-index:-1;left:2px;right:2px;top:2px;height:52%;border-radius:999px 999px 60% 60%/999px 999px 100% 100%;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.06));pointer-events:none}
.fm-glass::after{content:'';position:absolute;z-index:-1;left:20%;right:20%;bottom:2px;height:42%;border-radius:999px;background:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.5),rgba(255,255,255,0) 70%);pointer-events:none}
.fm-glass--green{color:#fff!important;background:linear-gradient(180deg,rgba(52,201,96,.9) 0%,rgba(22,158,68,.94) 48%,rgba(12,124,50,.97) 100%);box-shadow:0 12px 26px -10px rgba(12,124,50,.7),0 2px 4px rgba(12,124,50,.18),inset 0 1px 0 rgba(255,255,255,.75),inset 0 -3px 8px rgba(0,70,25,.3);text-shadow:0 1px 2px rgba(0,60,20,.45)}
.fm-glass--yellow{color:#3A2600!important;background:linear-gradient(180deg,rgba(255,230,110,.92) 0%,rgba(255,200,30,.95) 50%,rgba(240,168,0,.97) 100%);box-shadow:0 12px 26px -10px rgba(214,150,0,.7),0 2px 4px rgba(214,150,0,.18),inset 0 1px 0 rgba(255,255,255,.85),inset 0 -3px 8px rgba(150,95,0,.25);text-shadow:0 1px 0 rgba(255,255,255,.45)}
.fm-glass:hover{transform:translateY(-1px);filter:brightness(1.05) saturate(1.08)}
.fm-glass:active{transform:translateY(1px) scale(.985);filter:brightness(.97)}
.fm-glass:focus-visible{outline:3px solid #131A2B;outline-offset:3px}
.fm-glass[disabled],.fm-glass.is-busy{cursor:wait;filter:saturate(.8) brightness(.97)}
.fm-glass.is-busy svg{animation:fm-pulse 1s ease-in-out infinite}
@keyframes fm-pulse{50%{opacity:.35}}
.fm-buy__msg{grid-column:1/-1;margin:2px 4px 0;font-size:15px;font-weight:500}
.fm-buy__msg:empty{display:none}
.fm-buy__msg.is-ok{color:#0C7C32}
.fm-buy__msg.is-bad{color:#B33A0A}
.fm-buy__msg a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media (max-width:380px){.fm-buy{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.fm-glass{transition:none}.fm-glass.is-busy svg{animation:none}}

/* ===== Checkout (FileMen shell) ===== */
.fm-co{padding:40px 0 88px}
.fm-co__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start;max-width:1040px}
.fm-co__form{grid-column:1;grid-row:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:32px}
.fm-co__sum{grid-column:2;grid-row:1;position:sticky;top:96px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:24px}
.fm-co__form h1{font-size:clamp(26px,3.2vw,34px)}
.fm-co__lead{color:var(--muted);margin-top:6px}
.fm-co__sum h2{font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--muted)}
.fm-co__items{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.fm-co__items li{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center}
.fm-co__items .thumb{width:60px;height:60px;border-radius:var(--r-sm);overflow:hidden;background:var(--bg)}
.fm-co__items .thumb img{width:100%;height:100%;object-fit:cover}
.fm-co__items .name{font-weight:600;font-size:15px;line-height:1.4}
.fm-co__items .price{font-family:var(--font-display);font-weight:700;font-size:17px}
.fm-co__total{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.fm-co__total strong{font-family:var(--font-display);font-size:26px;color:var(--accent-dark)}
.fm-co__trust{margin-top:18px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--muted)}
.fm-co__trust li{position:relative;padding-left:24px}
.fm-co__trust li::before{content:'';position:absolute;left:2px;top:6px;width:12px;height:7px;border-left:2.5px solid #0C7C32;border-bottom:2.5px solid #0C7C32;transform:rotate(-45deg)}
.fm-co__secure{gap:8px;color:#0C7C32;font-weight:600;font-size:15px}
.fm-co__secure svg{width:18px;height:18px}

/* WooCommerce form inside the shell */
.fm-co-page form.checkout{margin-top:22px}
.fm-co-page .col2-set,.fm-co-page .col2-set .col-1{width:100%;float:none;padding:0;margin:0}
.fm-co-page .col2-set .col-2,.fm-co-page .woocommerce-additional-fields,.fm-co-page #order_review_heading,.fm-co-page .woocommerce-checkout-review-order-table,.fm-co-page .woocommerce-billing-fields>h3,.fm-co-page .woocommerce-form-coupon-toggle,.fm-co-page .woocommerce-privacy-policy-text{display:none!important}
.fm-co-page .woocommerce-billing-fields__field-wrapper{display:flex;flex-direction:column;gap:16px}
.fm-co-page .form-row{margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fm-co-page .form-row label{font-weight:600;font-size:15px;color:var(--ink)}
.fm-co-page .form-row label .required{color:#B33A0A;text-decoration:none;border:0}
.fm-co-page .form-row .woocommerce-input-wrapper{display:block}
.fm-co-page .form-row input.input-text{width:100%;font:inherit;font-size:17px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:13px 14px;transition:border-color .15s,background-color .15s}
.fm-co-page .form-row input.input-text:focus{outline:none;border-color:var(--ink);background:var(--surface)}
.fm-co-page .form-row.woocommerce-invalid input.input-text{border-color:#C2410C;background:#FFF7F2}
.fm-co-page .form-row.woocommerce-validated input.input-text{border-color:#7CC79A}
.fm-co-page .form-row .description{font-size:14px;color:var(--muted);margin-top:4px;display:block!important;position:static;background:none;padding:0}
.fm-co-page .form-row .description::before{display:none}
.fm-co-page #payment{margin-top:22px;background:none;border-radius:0}
.fm-co-page #payment ul.payment_methods{display:flex;flex-direction:column;gap:10px;padding:0;margin:0 0 18px;border:0}
.fm-co-page #payment ul.payment_methods li{list-style:none;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;background:var(--surface);margin:0}
.fm-co-page #payment ul.payment_methods li:has(input:checked){border-color:var(--ink)}
.fm-co-page #payment ul.payment_methods li label{font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.fm-co-page #payment ul.payment_methods li img{max-height:26px;width:auto;display:inline-block}
.fm-co-page #payment ul.payment_methods li.woocommerce-notice{border-style:dashed;color:var(--muted);font-weight:500}
.fm-co-page #payment .payment_box{margin-top:10px;font-size:15px;color:var(--muted);background:var(--bg);border-radius:var(--r-sm);padding:12px 14px}
.fm-co-page #payment .payment_box::before{display:none}
.fm-co-page #payment .place-order{padding:0;margin:0}
.fm-co-page .fm-pay{width:100%;min-height:62px;font-size:18px;white-space:normal;text-align:center;line-height:1.3;padding:10px 22px}
.fm-co-page .woocommerce-NoticeGroup,.fm-co-page .woocommerce-error,.fm-co-page .woocommerce-info,.fm-co-page .woocommerce-message{margin:0 0 18px}
.fm-co-page ul.woocommerce-error{list-style:none;background:#FFF7F2;border:1px solid #F6C9AE;border-radius:var(--r-sm);padding:14px 16px;color:#8A2E07;display:flex;flex-direction:column;gap:6px;font-size:15px}
.fm-co-page ul.woocommerce-error li{margin:0}
.fm-co-page .blockUI.blockOverlay{border-radius:var(--r-md)}
@media (max-width:860px){
 .fm-co{padding:20px 0 56px}
 .fm-co__grid{grid-template-columns:1fr;gap:16px}
 .fm-co__sum{grid-column:1;grid-row:1;position:static;padding:16px}
 .fm-co__form{grid-column:1;grid-row:2;padding:22px 18px}
 .fm-co__trust{display:none}
 .fm-co__secure span{display:none}
}
