/* v285 — Mobile A4 fidelity for two-sided templates.
   The CV is an A4 document: on phones we scale the whole page; we never
   collapse a two-column document into a one-column responsive web layout. */

/* Language rows remain compact inside whatever CV column owns them. */
.resume .language-grid{min-width:0!important;max-width:100%!important;width:100%!important}
.resume .language-row{min-width:0!important;max-width:100%!important;width:100%!important;margin-bottom:7px!important}
.resume .language-row>div{display:flex!important;flex-direction:row!important;align-items:baseline!important;justify-content:space-between!important;gap:8px!important;min-width:0!important;width:100%!important}
.resume .language-row>div>*{min-width:0!important}
.resume .language-row i{display:block!important;width:100%!important;height:3px!important;min-height:3px!important;max-height:3px!important;line-height:0!important;margin-top:3px!important;overflow:hidden!important}
.resume .language-row b{display:block!important;height:100%!important;min-height:0!important;max-height:100%!important}

@media(max-width:900px){
  /* Reference two-column family. */
  .resume.blue-labels .cv-columns{display:grid!important;grid-template-columns:minmax(0,.34fr) minmax(0,1.66fr)!important;gap:18px!important;align-items:start!important}
  .resume.pro-grid .cv-columns{display:grid!important;grid-template-columns:minmax(0,1.62fr) minmax(0,.78fr)!important;gap:22px!important;align-items:start!important}
  .resume.soft-panel .cv-columns{display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(0,.75fr)!important;gap:20px!important;align-items:start!important}
  .resume.monogram .cv-columns{display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.78fr)!important;gap:20px!important;align-items:start!important}
  .resume.pattern-sidebar .cv-columns{display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.58fr)!important;gap:20px!important;align-items:start!important}
  .resume.monogram:before{display:grid!important}
  .resume.monogram .cv-head{padding:26px 20px 22px 205px!important;min-height:118px!important}
  .resume.pattern-sidebar .cv-head{padding:14px 0 16px!important}
  .resume.pro-grid .cv-column-right{border-left:1px solid #8f969d!important;padding-left:17px!important}

  /* Photo / sidebar two-column family. */
  .resume.photo-modern .cv15-layout{display:grid!important;grid-template-columns:34.5% 65.5%!important;align-items:start!important}
  .resume.photo-modern .cv15-sidebar{padding:26px 22px 32px!important;min-height:0!important}
  .resume.photo-modern .cv15-main{padding:42px 28px 34px!important;min-height:0!important}
  .resume.photo-modern .cv15-sidebar>.cv-photo{width:100%!important;max-width:none!important;margin:0 0 18px!important}

  .resume.photo-clean .cv16-layout{display:grid!important;grid-template-columns:minmax(0,1.62fr) minmax(0,.76fr)!important;gap:22px!important;padding:0 20px 24px!important;align-items:start!important}
  .resume.photo-clean .cv16-main{padding:0!important;min-height:0!important}
  .resume.photo-clean .cv16-side{padding:0 0 0 16px!important;min-height:0!important}
  .resume.photo-clean .cv16-side>.cv-photo{width:100%!important;max-width:none!important;margin:0 0 18px!important}

  .resume.profile-sidebar .cv17-layout{display:grid!important;grid-template-columns:31% 69%!important;align-items:start!important}
  .resume.profile-sidebar .cv17-sidebar{padding:32px 25px 38px!important}
  .resume.profile-sidebar .cv17-main{padding:50px 38px 42px!important}
  .resume.profile-sidebar .cv17-sidebar .cv-photo{width:100%!important;max-width:none!important;margin:0 0 28px!important}

  .resume.contact-panel .cv18-head{display:grid!important;grid-template-columns:minmax(0,1fr) 220px!important;gap:34px!important;padding:34px 32px 26px!important;align-items:start!important}
  .resume.contact-panel .cv18-columns{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(0,.85fr)!important;gap:34px!important;padding:28px 32px 36px!important;align-items:start!important}
  .resume.contact-panel .cv18-side>.cv-photo{width:100%!important;max-width:220px!important;margin:0 0 22px auto!important}

  /* Quick Modern must keep the 34/66 split on a phone; scale the A4 page instead. */
  .resume.quick-modern-template .quick-head{padding:31px 190px 25px 27px!important;min-height:275px!important}
  .resume.quick-modern-template .cv-photo{width:115px!important;height:115px!important;right:32px!important;top:30px!important}
  .resume.quick-modern-template .quick-columns{display:grid!important;grid-template-columns:34% 66%!important;align-items:start!important}
  .resume.quick-modern-template .quick-columns>aside{border-right:1px solid rgba(255,255,255,.95)!important;border-bottom:0!important;padding:22px 20px 34px 34px!important}
  .resume.quick-modern-template .quick-columns>main{padding:22px 34px 34px 24px!important}

  /* Original Professional has an intentional two-column lower band. */
  .resume.original-professional-template .orig-head{grid-template-columns:50% 1fr 14px!important;column-gap:28px!important;min-height:112px!important}
  .resume.original-professional-template .orig-contact{grid-column:auto!important;align-items:flex-end!important;text-align:right!important;padding:0!important}
  .resume.original-professional-template .orig-rail{grid-column:auto!important;grid-row:auto!important}
  .resume.original-professional-template .orig-bottom-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:28px!important}

  /* Europass is also a fixed document grid. Preserve date/label rail on mobile. */
  .resume.europass-classic .eu-personal{grid-template-columns:185px minmax(0,1fr)!important}
  .resume.europass-photo .eu-personal{grid-template-columns:185px minmax(0,1fr) 125px!important}
  .resume.europass-classic .eu-section-head,.resume.europass-photo .eu-section-head,
  .resume.europass-classic .eu-entry,.resume.europass-photo .eu-entry,
  .resume.europass-classic .eu-simple-row,.resume.europass-photo .eu-simple-row{display:grid!important;grid-template-columns:185px minmax(0,1fr)!important;gap:18px!important;align-items:start!important}
  .resume.europass-classic .eu-left-label,.resume.europass-photo .eu-left-label,
  .resume.europass-classic .eu-section-head>div,.resume.europass-photo .eu-section-head>div,
  .resume.europass-classic .eu-simple-row>div:first-child,.resume.europass-photo .eu-simple-row>div:first-child,
  .resume.europass-classic .eu-date,.resume.europass-photo .eu-date{text-align:right!important;padding-right:12px!important}
  .resume.europass-classic .eu-section-head span,.resume.europass-photo .eu-section-head span{display:block!important}
  .resume.europass-classic .eu-photo,.resume.europass-photo .eu-photo{justify-self:end!important}
  .resume.europass-classic .eu-skill-list,.resume.europass-photo .eu-skill-list{columns:2!important;column-gap:28px!important}
  .resume.europass-classic .eu-lang-list,.resume.europass-photo .eu-lang-list{grid-template-columns:1fr 1fr!important}

  /* In compact sidebars, language entries stay inside the sidebar instead of
     stretching to the full A4 width. Name and level remain on one row. */
  .resume.profile-sidebar .cv17-sidebar .language-grid,
  .resume.contact-panel .cv18-side .language-grid,
  .resume.photo-modern .cv15-sidebar .language-grid,
  .resume.photo-clean .cv16-side .language-grid,
  .resume.quick-modern-template .quick-columns>aside .language-grid,
  .resume.blue-labels .cv-column-left .language-grid,
  .resume.monogram .cv-column-left .language-grid,
  .resume.pattern-sidebar .cv-column-left .language-grid,
  .resume.pro-grid .cv-column-right .language-grid,
  .resume.soft-panel .cv-column-right .language-grid{grid-template-columns:1fr!important;width:100%!important}
}
