/* Editorial CMS pages. Copy stays editable through the native CMS content field. */
body#cms #main:has(.fm-about) > .page-header, body#cms #main:has(.fm-about) > .page-title { display:none; }
body#cms #wrapper .fm-about { max-width:1440px; margin:0 auto 64px; color:var(--fm-ink); font:16px/1.7 var(--vbk-body,Arial,sans-serif); }
.fm-about * { box-sizing:border-box; }
body#cms #wrapper .fm-about :is(h1,h2,h3) { color:var(--fm-ink); font-family:var(--vbk-heading,Arial,sans-serif); font-weight:800; text-transform:none; line-height:1.06; letter-spacing:-.04em; }
.fm-about-hero { display:grid; grid-template-columns:1fr 1fr; background:var(--fm-soft); }
.fm-about-copy { padding:clamp(28px,5vw,72px); align-self:center; }
body#cms #wrapper .fm-about h1 { font-size:clamp(40px,6vw,80px); margin:22px 0; }
.fm-about h1 span { color:var(--fm-highlight); }
.fm-about-copy p { max-width:490px; margin:24px 0 32px; color:var(--fm-muted); }
body#cms #wrapper .fm-about .fm-about-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; padding:15px 22px; min-height:48px; background:var(--fm-ink); color:var(--fm-canvas)!important; font-weight:700; border-radius:4px; font-size:14px; text-decoration:none; }
body#cms #wrapper .fm-about .fm-about-cta:hover { background:var(--fm-accent); color:var(--fm-accent-text)!important; }
.fm-about-photo { position:relative; min-width:0; overflow:hidden; }
.fm-about-photo img { width:100%; height:100%; min-height:440px; max-height:690px; object-fit:cover; object-position:center 35%; }
.fm-about-photo>span { position:absolute; bottom:24px; left:24px; font-size:10px; letter-spacing:2px; padding:10px 14px; background:var(--fm-surface); }
.fm-about-story { padding:64px 0; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; border-bottom:1px solid var(--fm-border); }
body#cms #wrapper .fm-about-story h2 { font-size:clamp(32px,4vw,54px); margin:20px 0 0; }
.fm-about-story>p { margin:0; color:var(--fm-muted); max-width:580px; }
.fm-about-edit { padding:56px 0; }
body#cms #wrapper .fm-about-edit>h2 { font-size:32px; max-width:650px; margin:0 0 28px; }
.fm-about-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.fm-about-grid>.fm-about-card { display:block; color:var(--fm-ink); border-bottom:1px solid var(--fm-border); }
.fm-about-grid img { width:100%; aspect-ratio:4/5; height:auto; object-fit:cover; }
.fm-about-grid>.fm-about-card>div { padding:20px 0; }
.fm-about-grid>.fm-about-card>div>span { color:var(--fm-muted); font-size:11px; letter-spacing:2px; }
body#cms #wrapper .fm-about-grid h3 { font-size:24px; margin:12px 0; line-height:1.2; display:flex; justify-content:space-between; gap:12px; }
.fm-about-grid p { font-size:14px; color:var(--fm-muted); margin:0; }
.fm-about-contact { display:grid; grid-template-columns:1.2fr 1fr; gap:32px; padding:40px; background:var(--fm-soft); align-items:center; }
body#cms #wrapper .fm-about-contact h2 { font-size:clamp(30px,4vw,48px); margin:0; max-width:600px; }
.fm-about-contact p { color:var(--fm-muted); margin:0 0 20px; }
.fm-about a:focus-visible { outline:3px solid var(--fm-highlight); outline-offset:4px; }
/* Keep delivery facts sourced from native carriers, give the guide clearer hierarchy. */
body#cms #wrapper .fmd-hero { border-radius:4px; }
body#cms #wrapper .fmd-service { border-radius:4px; box-shadow:0 8px 24px #00000005; }
body#cms #wrapper .fmd-service td:last-child { color:var(--fm-price-pink,#ad176d); font-size:17px; white-space:nowrap; }
body#cms #wrapper .fmd-service-top img { border:1px solid var(--fm-border); border-radius:4px; padding:6px; }
body#cms #wrapper .fmd-rates>h2 { margin-bottom:28px; }
body#cms #wrapper .fmd-payment { padding:12px 14px; background:var(--fm-soft); border-left:3px solid var(--fm-accent); }
@media(max-width:768px) {
 .fm-about-hero { grid-template-columns:1fr; }
 .fm-about-photo { max-height:430px; }
 .fm-about-photo img { min-height:0; height:430px; }
 .fm-about-story { gap:28px; padding:36px 0; grid-template-columns:1fr; }
 .fm-about-grid { gap:14px; }
 body#cms #wrapper .fm-about-grid h3 { font-size:18px; }
 .fm-about-contact { grid-template-columns:1fr; padding:28px; }
 body#cms #wrapper .fmd-service td:last-child { font-size:15px; }
}
@media(max-width:480px) {
 .fm-about-grid { grid-template-columns:1fr; gap:24px; }
 .fm-about-grid>.fm-about-card { display:grid; grid-template-columns:110px 1fr; gap:20px; align-items:center; }
 .fm-about-grid>.fm-about-card>div { padding:12px 0; }
 body#cms #wrapper .fm-about-grid h3 { font-size:20px; }
 body#cms #wrapper .fm-about-edit>h2 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { .fm-about * { transition:none!important; animation:none!important; } }

/* Contact: native merchant details and native protected contact form. */
.fm-contact-page { margin:0 auto 64px; max-width:1440px; color:var(--fm-ink); }
.fm-contact-hero { padding:clamp(28px,4vw,64px); background:var(--fm-soft); border-bottom:3px solid var(--fm-highlight); }
.fm-contact-hero>span { font-size:11px; font-weight:700; letter-spacing:2px; }
body#contact #wrapper .fm-contact-hero h1 { font:800 clamp(36px,5vw,70px)/1.04 var(--vbk-heading,Arial,sans-serif); letter-spacing:-.05em; color:var(--fm-ink); margin:24px 0; }
.fm-contact-hero h1 em { font-style:normal; color:var(--fm-price-pink,#ad176d); }
.fm-contact-hero p { max-width:560px; font-size:16px; line-height:1.7; margin:0; color:var(--fm-muted); }
.fm-contact-layout { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr); gap:clamp(24px,5vw,72px); padding-top:40px; }
.fm-contact-info { padding:28px; background:var(--fm-soft); align-self:start; border:1px solid var(--fm-border); }
.fm-contact-info>.col-sm-4,.fm-contact-form>.col-sm-8 { float:none; width:100%; max-width:none; padding:0; }
.fm-contact-info h4,.fm-contact-form h4 { font-size:22px; line-height:1.2; letter-spacing:-.03em; color:var(--fm-ink); font-weight:800; }
.fm-contact-info a { color:var(--fm-price-pink,#ad176d); overflow-wrap:anywhere; }
.fm-contact-help { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0 0; margin-top:24px; border-top:1px solid var(--fm-border); font-weight:700; }
.fm-contact-form { min-width:0; padding:clamp(20px,3vw,40px); background:var(--fm-surface); border:1px solid var(--fm-border); }
.fm-contact-form .form-group.row { display:block; margin:0 0 24px; }
.fm-contact-form .form-group.row>div,.fm-contact-form .form-group.row>label { float:none; width:100%; max-width:none; padding:0; margin-left:0; }
.fm-contact-form .form-control-label { text-align:left; font-size:14px; font-weight:700; margin-bottom:8px; }
body#contact .fm-contact-form :is(input.form-control,select.form-control,textarea.form-control) { background:var(--fm-canvas); color:var(--fm-ink); border:1px solid var(--fm-border); border-radius:4px; min-height:50px; font-size:16px; box-shadow:none; }
body#contact .fm-contact-form textarea.form-control { min-height:160px; resize:vertical; }
.fm-contact-form :is(input,select,textarea,button,a):focus-visible,.fm-contact-info a:focus-visible { outline:3px solid var(--fm-highlight); outline-offset:3px; }
body#contact .fm-contact-form [name=submitMessage] { min-height:50px; width:100%; background:var(--fm-ink); color:var(--fm-canvas); border:0; font-size:15px; font-weight:700; border-radius:4px; }
body#contact .fm-contact-form .akcc { max-width:100%; }
@media(max-width:767px) { .fm-contact-layout { grid-template-columns:1fr; gap:24px; padding-top:24px; } .fm-contact-form { grid-row:1; } .fm-contact-hero { padding:28px 24px; } .fm-contact-info { padding:24px; } }

.fm-contact-info .fm-contact-label { font-size:10px; letter-spacing:2px; font-weight:700; }
body#contact .fm-contact-info h2 { font-size:clamp(28px,3vw,40px); font-weight:800; line-height:1.1; letter-spacing:-.04em; margin:24px 0 36px; color:var(--fm-ink); }
.fm-contact-info>p { margin:24px 0; font-size:17px; }
.fm-contact-info>p>span { display:block; font-size:12px; color:var(--fm-muted); margin-bottom:7px; }
.fm-contact-info>p>a { display:inline-block; min-height:28px; }
.fm-contact-info address { font-style:normal; line-height:1.8; padding-top:22px; border-top:1px solid var(--fm-border); }
/* Withdrawal: Romeron's clear steps, adapted to FashionMafia's own identity. */
.page-cms-12{padding:0!important;background:transparent!important}.fm-withdrawal-hero{display:grid;grid-template-columns:1fr 200px;align-items:center;gap:40px;padding:clamp(26px,5vw,64px);background:#faf0f6;border:1px solid #ead6e2;border-radius:12px;margin:30px 0}
.fm-withdrawal-kicker{font-size:11px;letter-spacing:.14em;font-weight:700;color:#ad176d}.fm-withdrawal-hero h1{font-size:clamp(30px,4vw,50px);letter-spacing:-1.2px;margin:12px 0}.fm-withdrawal-hero h2{font-size:20px;font-weight:500;margin:0 0 18px}.fm-withdrawal-hero p{max-width:55ch;font-size:15px;line-height:1.8}.fm-withdrawal-hero>svg{width:100%;color:#ad176d}
body #wrapper a.fm-withdrawal-button{display:inline-flex;align-items:center;gap:24px;background:#ad176d;color:white!important;padding:15px 22px;border-radius:6px;font-weight:650;margin-top:10px}.fm-withdrawal-button:hover{background:#861254!important}
.fm-withdrawal-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0 40px}.fm-withdrawal-steps article{padding:24px;border:1px solid #ead6e2;border-radius:8px;background:white}.fm-withdrawal-steps span{font-size:12px;font-weight:700;color:#ad176d}.fm-withdrawal-steps h2{font-size:18px;margin:14px 0 8px}.fm-withdrawal-steps p{font-size:13px;line-height:1.7;color:#6d626a;margin:0}
.fm-withdrawal-policy{max-width:900px;padding:30px 0;line-height:1.9;font-size:15px}.fm-withdrawal-policy h2{font-size:26px;margin-bottom:24px}.fm-withdrawal-policy p{margin:0 0 18px}.fm-withdrawal-help{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ead6e2;padding:25px 0;margin:20px 0 40px}.fm-withdrawal-help h2{font-size:20px;margin:0}.fm-withdrawal-help a{color:#ad176d!important;text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){.fm-withdrawal-hero{grid-template-columns:1fr;gap:20px}.fm-withdrawal-hero>svg{display:none}.fm-withdrawal-steps{grid-template-columns:1fr;gap:12px}.fm-withdrawal-steps article{padding:20px}.fm-withdrawal-help{align-items:flex-start;flex-direction:column}}
