/* Finca Terol V6: personal layout, collapsible sidebar, modules and refined fields. */
.layout{transition:grid-template-columns .22s ease,gap .22s ease}
.layout.ft-sidebar-collapsed{grid-template-columns:76px minmax(0,1fr);gap:22px}
.ft-sidebar-wrap{min-width:0}
.ft-sidebar-head{display:flex;justify-content:flex-end;margin-bottom:6px}
.ft-sidebar-toggle{width:36px;height:36px;padding:0;display:grid;place-items:center;border-radius:10px;background:#e7f2eb;color:var(--teal);border:1px solid #c8ddd1}
.ft-sidebar{display:grid;gap:6px}
.ft-sidebar-item{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:4px;position:relative}
.ft-sidebar-link{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px!important;border:1px solid transparent}
.ft-sidebar-icon{width:24px;min-width:24px;text-align:center;line-height:1.2}
.ft-sidebar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ft-sidebar-move-form{position:relative;padding:0!important;margin:0!important;border:0!important;background:transparent!important}
.ft-sidebar-more{width:28px;height:34px;padding:0;display:grid;place-items:center;background:transparent;color:#60716c;border-radius:8px}
.ft-sidebar-more:hover{background:#edf4f0}
.ft-sidebar-move-menu{position:absolute;left:0;top:36px;z-index:30;display:flex;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 24px #17332c26;padding:4px;gap:3px}
.ft-sidebar-move-menu[hidden]{display:none}
.ft-sidebar-move-menu button{width:32px;height:32px;padding:0}
.layout.ft-sidebar-collapsed .ft-sidebar-item{grid-template-columns:1fr}
.layout.ft-sidebar-collapsed .ft-sidebar-move-form,.layout.ft-sidebar-collapsed .ft-sidebar-label{display:none}
.layout.ft-sidebar-collapsed .ft-sidebar-link{justify-content:center;padding:11px 6px!important}
.layout.ft-sidebar-collapsed .ft-sidebar-icon{width:auto;min-width:0}
.site-header.ft-header-photo{background-image:linear-gradient(90deg,rgba(255,255,255,.90),rgba(255,255,255,.72)),var(--ft-header-image);background-size:cover;background-position:center;border-bottom-color:#b9cfc3}
.site-header.ft-header-photo .top{backdrop-filter:saturate(1.04)}
.site-header.ft-header-photo .brand,.site-header.ft-header-photo .tools a,.site-header.ft-header-photo .tools button.quiet{background:rgba(255,255,255,.68);border-radius:8px;padding:.22rem .45rem}
/* Elegant, finer field treatment without changing the inherited font size. */
main .block,main .panel{border-color:#cadbd2;border-radius:14px;box-shadow:0 5px 18px rgba(28,69,57,.055)}
main input,main select,main textarea{border-color:#aebfb8;border-radius:10px;box-shadow:inset 0 1px 2px rgba(20,55,45,.035);transition:border-color .15s ease,box-shadow .15s ease}
main input:focus,main select:focus,main textarea:focus{outline:none;border-color:#4f8d78;box-shadow:0 0 0 3px rgba(76,139,116,.14)}
main fieldset{border:1px solid #cbdcd3;border-radius:12px;padding:16px 18px;margin:18px 0}
main legend{padding:0 8px;font-weight:700;color:#315e50}
/* Titles are centered over their field/card with a soft green background. No font-size overrides. */
main>h1,.block>h2,.panel>h2,.ft-layout-page-modules>h3{margin-left:0;margin-right:0;text-align:center;background:#e7f4e9;border:1px solid #c7dfcd;border-radius:10px;padding:.52em .75em;color:#264e41}
.block>h2:first-child,.panel>h2:first-child{margin-top:0}
.ft-layout-profile{margin-top:22px}
.ft-layout-profile form{padding:0;border:0;margin:0;background:transparent}
.ft-layout-check{font-weight:600;display:flex;align-items:center;gap:8px}
.ft-layout-check input[type=checkbox]{width:auto;margin:0}
.ft-layout-icon{display:inline-grid;place-items:center;width:24px}
.ft-layout-page-modules{border-top:1px solid var(--line);padding-top:12px;margin-top:16px}
.ft-layout-module-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:16px;align-items:center;padding:8px 0;border-bottom:1px solid #e5ede9}
.ft-layout-module-row>label{margin:0}.ft-layout-module-row input[type=number]{margin-top:3px}
.ft-layout-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.ft-layout-icon-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:center}
.ft-layout-icon-row label{margin:5px 0}.ft-layout-icon-row input{margin-top:0;text-align:center}
.ft-header-preview{width:100%;max-height:210px;object-fit:cover;border-radius:12px;border:1px solid var(--line);margin:8px 0 14px}
@media(max-width:760px) and (pointer:coarse){.layout,.layout.ft-sidebar-collapsed{grid-template-columns:1fr;gap:15px}.ft-sidebar-head{justify-content:flex-start}.layout.ft-sidebar-collapsed .ft-sidebar{display:flex;overflow:auto}.layout.ft-sidebar-collapsed .ft-sidebar-item{min-width:50px}.ft-layout-module-row{grid-template-columns:1fr}}
@media(forced-colors:active){main .block,main .panel,main>h1,.block>h2,.panel>h2{box-shadow:none}.site-header.ft-header-photo{background-image:none}}


/* V9.3J: full adaptive viewport width. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.shell{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:clamp(12px,1.5vw,28px)!important;
  padding-right:clamp(12px,1.5vw,28px)!important;
}
.layout{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:clamp(210px,16vw,290px) minmax(0,1fr)!important;
  gap:clamp(16px,2vw,34px)!important;
}
.layout.ft-sidebar-collapsed{
  grid-template-columns:76px minmax(0,1fr)!important;
}
.layout main,main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.site-header .top{width:100%!important;max-width:none!important}
footer.shell{width:100%!important;max-width:none!important}
@media(max-width:760px) and (pointer:coarse){
  .layout,.layout.ft-sidebar-collapsed{grid-template-columns:1fr!important;gap:15px!important}
}

/* V9.3N: the page-builder width is always the actual MAIN track after the sidebar. */
.layout>main{min-width:0!important;width:100%!important;max-width:100%!important}
