/* Shared by the server render, client navigation and Onlc4 preview. */
.cms-page-main.cms-template--normal {
  display: block;
  width: 100%;
  max-width: 1080px;
  min-height: 55vh;
  margin: 0 auto;
  padding: 30px 24px;
  box-sizing: border-box;
}
.cms-page-main.cms-template--full-width {
  display: block;
  width: 100%;
  max-width: none;
  min-height: 55vh;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.cms-page-layout--product .cms-product-sidebar{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;scroll-margin-top:24px}.cms-product-section-action{margin:24px 0}.cms-product-section-action a{display:inline-flex;align-items:center;min-height:48px;white-space:normal;text-decoration:none;padding:12px 18px}.cms-product-section-action a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.cms-contact-form .btn-primary,.cms-product-section-action .btn-primary{background:var(--pst-red,#d06f43);border-color:var(--pst-red,#d06f43);color:#fff!important}.cms-contact-form .btn-primary:hover,.cms-product-section-action .btn-primary:hover{filter:brightness(.94)}
.cms-contact-form__privacy a{color:var(--pst-red,#a74c28);text-decoration:underline;text-underline-offset:3px}

/* Contact shortcodes: labels, radio controls and conditional groups. */
.cms-contact-form { display:grid; gap:1.25rem; }
.cms-contact-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.5rem; }
.cms-contact-form label { display:flex; flex-direction:column; gap:.4rem; min-width:0; }
.cms-contact-form fieldset { min-width:0; border:1px solid #ddd; padding:1.25rem; border-radius:.4rem; display:grid; gap:1rem; }
.cms-contact-form fieldset[hidden] { display:none; }
.cms-contact-form legend { font-weight:600; font-size:1rem; width:auto; padding:0 .35rem; }
.cms-contact-form .cms-contact-form__choices label { flex-direction:row; align-items:flex-start; gap:.6rem; line-height:1.5; cursor:pointer; }
.cms-contact-form .cms-contact-form__choices input[type=radio] { appearance:auto; display:block; position:static; float:none; flex:0 0 1em; width:1em; height:1em; min-width:0; min-height:0; max-width:1em; padding:0; margin:.25em 0 0; transform:none; box-shadow:none; }
.cms-contact-form__choices label>span { flex:1; min-width:0; }
.cms-contact-form input:not([type=radio]),.cms-contact-form select,.cms-contact-form textarea { box-sizing:border-box;min-width:0;width:100%; max-width:100%; padding:.65rem; border:1px solid #aaa; border-radius:.25rem; font:inherit; background:white; color:#222; }
.cms-contact-form .btn { justify-self:start; }
.cms-contact-form small { font-size:.875rem; }
@media(max-width:575.98px){.cms-contact-form__grid{grid-template-columns:minmax(0,1fr);}}
.cms-contact-form label.cms-contact-form__trap { display:none; }
.cms-contact-page-layout {display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:2.5rem;align-items:start;margin-top:2rem;}
.cms-contact-page-aside {display:grid;gap:1.5rem;padding:1.5rem;background:#f7f5f2;border-radius:.5rem;}
.cms-contact-page-aside h2 {font-size:1.25rem;margin-top:0;}
.cms-contact-page-aside p,.cms-contact-page-aside address {margin-bottom:.75rem;}
.cms-contact-page-aside li {margin-bottom:.75rem;}
@media(max-width:991.98px){.cms-contact-page-layout{grid-template-columns:minmax(0,1fr);}}

/* Captured Voeux category links contain a text label, not an icon-only control. */
.cms-site--voeux-professionnel .PL_prod_cat_link{width:auto;min-height:24px;background:none;font-size:14px;line-height:24px;white-space:nowrap;padding:0 4px}

/* Editorial CMS pages keep their gutters despite legacy #PL_main resets. */
:is(.cms-site--photoservice-web,.cms-site--photoservice-taopix):not(.cms-slug--home) :is(#PL_main,main).cms-page-main.cms-template--normal {
  box-sizing:border-box;
  width:100%!important;
  max-width:1248px;
  margin-inline:auto;
  padding:30px 24px!important;
}
.cms-page-layout>article{min-width:0;overflow-wrap:anywhere}
@media(max-width:780px){
  :is(.cms-site--photoservice-web,.cms-site--photoservice-taopix):not(.cms-slug--home) :is(#PL_main,main).cms-page-main.cms-template--normal{padding:24px 16px!important}
}
/* Historical FAQ columns carry fixed inline widths; let them shrink on phones. */
.cms-page-main #PL_faq ul[style]{max-width:100%;box-sizing:border-box}
@media(max-width:575.98px){.cms-page-main #PL_faq li .imgLeft{float:none;display:block;margin:0 0 12px}}
@media(max-width:680px){.cms-site--photostation-web .cms-page-main .cms-model-sheet .pst-breadcrumb{font-size:12px;line-height:1.5}}
/* Constrain the imported home grid wrapper on tablet as well. */
:is(.cms-site--photoservice-web,.cms-site--photoservice-taopix).cms-slug--home .cms-page-layout>article>div{max-width:100%;box-sizing:border-box;margin-inline:auto}
