/*
Theme Name: Vasty Coliving
Theme URI: https://example.com/vasty
Author: Vasty
Author URI: https://example.com
Description: Application de gestion de coliving (marques, residences, chambres, locataires, baux, depots de garantie, finances, portail locataire et generation de PDF). Portage fidele de l'app Vasty sous forme de theme WordPress. Toutes les donnees sont stockees localement dans le navigateur (IndexedDB).
Version: 1.0.0
Requires at least: 5.5
Tested up to: 6.6
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vasty-coliving
Tags: full-site, application, dashboard
*/

/* =========================================================
   Vasty — styles applicatifs (repris de l'app d'origine)
   ========================================================= */
body{font-family:'Inter',sans-serif;}
.sl{transition:background .15s;}
.sl.active{background:rgba(255,255,255,.18);}
.sl:hover{background:rgba(255,255,255,.1);}
.fade{animation:fi .2s ease;}
@keyframes fi{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.toast-item{animation:ts .3s ease,fo .3s 2.7s ease forwards;}
@keyframes ts{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes fo{to{transform:translateX(110%);opacity:0}}
.photo-slot{width:108px;height:84px;object-fit:cover;border-radius:8px;}
.add-photo{width:108px;height:84px;border:2px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.add-photo:hover{border-color:#6366f1;background:#f0f0ff;}
input:focus,select:focus,textarea:focus{outline:2px solid #6366f1;outline-offset:0;}

/* --- Integration WordPress : neutraliser la marge de l'admin bar
       sur les gabarits plein ecran de l'app Vasty --- */
html.vasty-app-html { margin-top: 0 !important; }
body.vasty-app-body { margin: 0; }
body.vasty-app-body #wpadminbar { display: none; }

/* =========================================================
   RESPONSIVE MOBILE — Vasty
   ========================================================= */

/* Tiroir lateral (mobile) : ouvert quand body.vasty-sidebar-open */
body.vasty-sidebar-open #vasty-sidebar { transform: translateX(0); }
body.vasty-sidebar-open #vasty-sidebar-overlay { display: block; }

/* Bloquer le defilement du fond quand le menu mobile est ouvert */
@media (max-width: 1023px){
  body.vasty-sidebar-open { overflow: hidden; }
}

/* Grilles generees (dashboard, fiches, formulaires) : effondrement */
@media (max-width: 640px){
  #content .grid.grid-cols-2,
  #content .grid.grid-cols-3,
  #content .grid.grid-cols-4,
  #modal-content .grid.grid-cols-2,
  #modal-content .grid.grid-cols-3,
  #modal-content .grid.grid-cols-4,
  #tenant-app .grid.grid-cols-2,
  #tenant-app .grid.grid-cols-3,
  #tenant-app .grid.grid-cols-4{
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 641px) and (max-width: 1023px){
  #content .grid.grid-cols-3,
  #content .grid.grid-cols-4,
  #modal-content .grid.grid-cols-3,
  #modal-content .grid.grid-cols-4,
  #tenant-app .grid.grid-cols-3,
  #tenant-app .grid.grid-cols-4{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Tableaux : conteneur a defilement horizontal (ajoute par vasty-mobile.js) */
.vasty-table-scroll{
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Eviter les debordements horizontaux generaux sur mobile */
@media (max-width: 1023px){
  #content, #tenant-app, #modal-content { max-width: 100%; }
  #content img, #tenant-app img { max-width: 100%; height: auto; }
}
