/*
Theme Name: ROOMARK Contract — ROOMARK Contract Premium
Theme URI: https://roomarkprojects.com/
Author: ROOMARK PROJECTS
Description: Aprobación de colaboración original preservada, portada independiente y formularios integrados con ROOMARK Operations.
Version: 1.5.75-rc112
Text Domain: roomark-contract
Requires PHP: 8.0
*/

/* RC25: clear client steps before the request, compact on narrow screens. */
.rc-process{padding:clamp(30px,4vw,64px) 0;background:#f5f2ed}.rc-process h2{max-width:760px;margin:0 0 22px}.rc-process .rm-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.rc-process .rm-step-grid article{background:#fff;padding:20px;border:1px solid #ded6c9;border-radius:10px}.rc-process .rm-step-grid strong{display:block;color:#60503d;letter-spacing:.02em}.rc-process .rm-step-grid p{margin:12px 0 0;line-height:1.6}@media(max-width:1050px){.rc-process .rm-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.rc-process .rm-step-grid{grid-template-columns:1fr}.rc-process .rm-step-grid article{padding:17px}}

/* RC29: compact reviewed attachments and bulk invitations inside ROOMARK panel. */
.rm-bulk-invitations{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));max-height:300px;overflow:auto;gap:7px;padding:13px;border:1px solid #d9d1c5;border-radius:8px}.rm-bulk-invitations label{display:flex;align-items:center;gap:8px}
/* RC42: remove promotional image from authenticated contractor workspace. */
body:has(.rm42-portal) .roomark-service-main{background:#efede8!important;background-image:none!important;display:block!important}
body:has(.rm42-portal) .roomark-service-main .rm42-portal{width:min(100%,1480px);max-width:1480px;margin:auto}
/* RC42: anonymous presentation available only through a revocable private URL. */
.rm42-public-profile{min-height:70vh;background:#f7f4ef;padding:clamp(38px,6vw,80px) 20px;color:#252923;font:400 17px/1.7 Arial,sans-serif}
.rm42-public-container{max-width:940px;margin:auto;background:#fff;border:1px solid #e1d8cd;padding:clamp(24px,5vw,58px);box-shadow:0 15px 44px #4b332008}
.rm42-public-container>span{font-size:12px;letter-spacing:1.8px;color:#8f6d46;font-weight:800}
.rm42-public-container h1{font:400 clamp(35px,5vw,55px)/1.15 Georgia,serif;margin:12px 0 18px;color:#242b26}
.rm42-public-container>p{max-width:680px;color:#625c54}
.rm42-public-container dl{display:grid;grid-template-columns:minmax(150px,.34fr) 1fr;gap:16px 28px;margin:36px 0}
.rm42-public-container dt{font-weight:800;color:#78522e;padding-top:14px;border-top:1px solid #e7e1d9}
.rm42-public-container dd{margin:0;padding-top:14px;border-top:1px solid #e7e1d9;white-space:normal;overflow-wrap:anywhere}
.rm42-public-container .rm42-legal-profile{font-size:14px;color:#796f63;padding-top:24px;border-top:1px solid #e8e2da}
@media(max-width:640px){.rm42-public-container dl{display:block}.rm42-public-container dt{margin-top:18px}.rm42-public-container dd{border-top:0;padding-top:4px}}

/* RC45: consistent, compact administrator project search. */
.rm45-admin-search{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:17px 0}.rm45-admin-search input[type=search]{min-width:min(95%,290px);min-height:38px}.rm45-admin-search label{font-weight:650}
/* RC47: reviewed anonymous images stay inside a token-scoped contractor presentation. */
.rm47-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin:24px 0}.rm47-gallery img{display:block;width:100%;max-height:275px;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid #d9d2c7}

/* RC48: protected historical offer image comparison. No new public image endpoints. */
.rm48-archived-comparison{margin:26px 0;padding:clamp(16px,3vw,30px);background:#fff;border:1px solid #dcd4c7;border-radius:12px}
.rm48-offer-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.rm48-offer-gallery h4{grid-column:1/-1;font-size:18px;margin:0;color:#303b32}
.rm48-offer-gallery img{display:block;width:100%;height:180px;object-fit:cover;border-radius:7px;border:1px solid #d5ccbc;background:#ece6de}
.rm48-photo-notice{font-size:13px;color:#676159;line-height:1.55}
@media(max-width:700px){.rm48-offer-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.rm48-offer-gallery img{height:150px}}
@media(max-width:420px){.rm48-offer-gallery{grid-template-columns:1fr}.rm48-offer-gallery img{height:auto;max-height:240px}}

/* RC48: protected legal representative signing; no separate account/admin surface. */
.rm48-delegate{max-width:850px;margin:45px auto 70px;padding:clamp(20px,5vw,48px);background:#fff;border:1px solid #dfd6c9;border-radius:12px;color:#26322b}
.rm48-delegate h1{font-size:clamp(26px,4vw,44px);line-height:1.2}.rm48-delegate form{padding:20px 0;border-top:1px solid #e0d9cd;display:grid;gap:13px}
.rm48-delegate label{display:grid;gap:8px}.rm48-delegate button{width:max-content;max-width:100%;min-height:42px;padding:10px 18px;cursor:pointer}
.rm48-delegate canvas{width:min(100%,560px);height:auto;touch-action:none;border:1px solid #bbb6aa;background:white}
@media(max-width:700px){.rm48-delegate{margin:16px 12px;padding:20px}.rm48-delegate button{width:100%}}

/* RC48: long cryptographic fingerprints must never widen mobile comparison pages. */
.rm48-archived-comparison{min-width:0;max-width:100%;overflow-wrap:anywhere}
.rm48-archived-comparison code{display:inline;overflow-wrap:anywhere;word-break:break-all;white-space:normal}
/* RC48: authorized signer's standalone page — high-contrast, touch-friendly controls. */
.rm48-delegate .ro-sign-form label:has(input[type="checkbox"]){display:flex;align-items:flex-start;gap:12px;line-height:1.55}
.rm48-delegate .ro-sign-form label input[type="checkbox"]{flex:0 0 19px;min-width:19px;min-height:19px;margin:3px 0 0;accent-color:#34463b}
.rm48-delegate input:not([type="checkbox"]):not([type="hidden"]){width:100%;min-height:46px;font:inherit;border:1px solid #a6a99f;border-radius:9px;padding:10px 13px;background:#fff;color:#26322b}
.rm48-delegate button{font:inherit;font-size:16px;font-weight:600;line-height:1.3;border:1px solid #36483e;border-radius:9px;background:#36483e;color:#fff;transition:background .15s ease}
.rm48-delegate button:hover{background:#24382d}
.rm48-delegate .ro-clear-sign{background:transparent;color:#34463b;border:1px solid #aaa99f}
.rm48-delegate .ro-clear-sign:hover{background:#f0eee9}
.rm48-delegate :is(button,input,a):focus-visible{outline:3px solid #b28b51;outline-offset:3px}
.rm48-delegate .ro-signature-pad{border-radius:9px;min-height:160px}

/* RC49: the directly signed original contract, not a decorative consent wizard. */
.rm-sign-page{box-sizing:border-box;max-width:770px;margin:clamp(16px,5vw,72px) auto 84px;padding:clamp(20px,5vw,42px);border:1px solid #ddd5c9;border-radius:14px;background:#fff;color:#26322b;font:400 17px/1.65 Arial,sans-serif;box-shadow:0 15px 46px rgba(28,41,33,.07)}
.rm-sign-page :is(h1,h2){font:600 clamp(27px,4vw,40px)/1.17 Georgia,serif;color:#26352b;margin-top:0}
.rm-sign-page :is(a,code){overflow-wrap:anywhere;word-break:break-word}
.rm-sign-page form{border-top:1px solid #e5dfd5;padding:23px 0 12px;margin:14px 0 0}
.rm-sign-page :is(input:not([type=checkbox]),button){font:inherit;min-height:45px;border-radius:8px;max-width:100%}
.rm-sign-page input:not([type=checkbox]){box-sizing:border-box;border:1px solid #868c83;background:#fff;color:#26322b;padding:9px 13px}
.rm-sign-page button{border:0;background:#324438;color:#fff;padding:10px 19px;font-weight:650;cursor:pointer}
.rm-sign-page button:hover{background:#203629}
.rm-sign-page input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#334c3c;margin:6px 8px 0 0}
.rm-sign-page label{display:block;line-height:1.55}
.rm-sign-page :is(button,input,a):focus-visible{outline:3px solid #bc9765;outline-offset:3px}
@media(max-width:650px){.rm-sign-page{margin:12px;padding:22px 16px}.rm-sign-page button{width:100%}.rm-sign-page input:not([type=checkbox]){width:100%}}
/* RC49: signing page must never inherit browser-blue links from generic WordPress styles. */
.rm-sign-page a,.rm-sign-page a:visited{color:#76532f;text-decoration-thickness:1px;text-underline-offset:3px}
.rm-sign-page a:hover{color:#314a3a}

/* RC53: visible existing-partner access, never duplicated in the site footer. */
body.rm-website .rm-header .rm-professional-login{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;min-height:44px;padding:9px 12px!important;border:1px solid #8c6945;border-radius:7px;background:#fff;color:#624629!important;font-weight:750;font-size:14px;text-decoration:none!important;transition:background .15s ease}
body.rm-website .rm-header .rm-professional-login:hover{background:#f3ece2;color:#382c1f!important}
body.rm-website .rm-header .rm-professional-login:focus-visible{outline:3px solid #a47843;outline-offset:3px}
body.rm-website .rm-nav-panel .rm-professional-login-mobile{margin-top:7px;width:100%;box-sizing:border-box}
@media(max-width:1200px){body.rm-website .rm-header-main .rm-nav-desktop{gap:9px!important}body.rm-website .rm-header-main .rm-nav-desktop a:not(.rm-button){font-size:13px!important}}

/* RC55: a desktop browser always gets actual anchor navigation. At moderate widths
   use a deliberate two-row header rather than replacing the entire desktop menu. */
@media(min-width:1471px){
 body.rm-website .rm-header-main .rm-nav-desktop{display:flex!important;min-width:0!important;justify-content:space-between!important;gap:clamp(9px,0.9vw,16px)!important}
 body.rm-website .rm-header-main .rm-nav-compact{display:none!important}
 body.rm-website .rm-header-main .rm-brand img{width:166px!important}
 body.rm-website .rm-header-main{gap:17px!important}
 body.rm-website .rm-nav-desktop a:not(.rm-button){font-size:15px!important}
}
@media(min-width:1050px) and (max-width:1470px){
 body.rm-website .rm-header-main{height:auto!important;min-height:120px!important;padding-top:12px!important;padding-bottom:11px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:16px!important;row-gap:5px!important}
 body.rm-website .rm-header-main .rm-brand{grid-column:1!important;grid-row:1!important;justify-self:start}
 body.rm-website .rm-header-main .rm-brand img{width:166px!important}
 body.rm-website .rm-header-main>.rm-lang-main{grid-column:2!important;grid-row:1!important;justify-self:end;display:block!important}
 body.rm-website .rm-header-main .rm-nav-desktop{grid-column:1/-1!important;grid-row:2!important;display:flex!important;flex:1!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;column-gap:12px!important;row-gap:7px!important;width:100%!important}
 body.rm-website .rm-header-main .rm-nav-desktop a:not(.rm-button){font-size:15px!important}
 body.rm-website .rm-header-main .rm-nav-compact{display:none!important}
 body.rm-website .rm-nav-desktop .rm-nav-registration{padding:8px 12px!important;min-height:42px!important;font-size:14px!important}
}
@media(max-width:1049px){
 body.rm-website .rm-header-main{display:flex!important;min-height:76px!important;height:76px!important;flex-wrap:nowrap!important;gap:12px!important}
 body.rm-website .rm-header-main .rm-nav-desktop{display:none!important}
 body.rm-website .rm-header-main .rm-nav-compact{display:block!important;margin-left:auto!important}
 body.rm-website .rm-header-main>.rm-lang-main{display:none!important}
 body.rm-website .rm-header-main .rm-brand img{width:160px!important}
}
@media(prefers-reduced-motion:reduce){body.rm-website .rm-nav-trigger{transition:none!important}}

/* RC76: unobtrusive return path to an unsigned client request. */
.rc76-return-lead{background:#fffaf3;border-left:3px solid #956d42;padding:11px 16px;margin:17px 0;font-size:16px;line-height:1.55}.rc76-return-lead a{font-weight:750;color:#78512f;text-underline-offset:3px}

/* RC108: legal configuration states. */
.rm-legal-data-pending{padding:14px 16px;border:1px solid #d8c8b4;background:#fbf7f1;color:#6d5439;font-size:15px;line-height:1.6}
@media(max-width:760px){
 .rc6-legal-columns{gap:22px}
 .rc6-legal-nav{display:flex;position:static;overflow-x:auto;overscroll-behavior-inline:contain;gap:8px;border-top:0;border-bottom:1px solid #e5ddd3;padding:0 0 14px;scrollbar-width:thin}
 .rc6-legal-nav h2{display:none}
 .rc6-legal-nav a{flex:0 0 auto;max-width:78vw;padding:10px 13px;border:1px solid #ddd2c4;background:#fbf8f3;border-radius:999px;font-size:14px;line-height:1.3}
 .rc6-legal-body .roomark-legal-content h2{font-size:27px;padding-top:30px;scroll-margin-top:90px}
 .rc6-legal-body p,.rc6-legal-body li{font-size:16px;line-height:1.72}
}
