/* Nougalet Ecoles — Hummingbird 2.1.2 child theme
   Common to all shops. Does not alter checkout/payment logic. */
:root, [data-bs-theme="light"] {
  --bs-primary: #aa1d43;
  --bs-primary-rgb: 170, 29, 67;
  --bs-primary-text-emphasis: #75122e;
  --bs-primary-bg-subtle: #f8e9ee;
  --bs-primary-border-subtle: #e9adbd;
  --bs-link-color: #aa1d43;
  --bs-link-color-rgb: 170, 29, 67;
  --bs-link-hover-color: #801633;
  --bs-link-hover-color-rgb: 128, 22, 51;
  --bs-focus-ring-color: rgba(170, 29, 67, .25);
  --nougalet-primary:#aa1d43;
  --nougalet-primary-hover:#8e1838;
  --nougalet-info:#8273ad;
  --nougalet-info-bg:#f2eff8;
  --nougalet-warning:#a66b80;
  --nougalet-warning-bg:#faf0f3;
  --nougalet-success:#43846c;
  --nougalet-success-bg:#edf6f1;
  --nougalet-error:#b54758;
  --nougalet-error-bg:#fbeff1;
  --nougalet-bg:#fafafb;
  --nougalet-text:#29272d;
  --nougalet-muted:#77747d;
}
.btn-primary { --bs-btn-bg:#aa1d43; --bs-btn-border-color:#aa1d43; --bs-btn-hover-bg:#8e1838; --bs-btn-hover-border-color:#8e1838; --bs-btn-active-bg:#75122e; --bs-btn-active-border-color:#75122e; --bs-btn-disabled-bg:#a8a6ac; --bs-btn-disabled-border-color:#a8a6ac; }
.btn-outline-primary { --bs-btn-color:#aa1d43; --bs-btn-border-color:#aa1d43; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#aa1d43; --bs-btn-hover-border-color:#aa1d43; --bs-btn-active-color:#fff; --bs-btn-active-bg:#801633; --bs-btn-active-border-color:#801633; --bs-btn-disabled-color:#55545a; --bs-btn-disabled-bg:#f1f1f3; --bs-btn-disabled-border-color:#d9d8dc; color:#aa1d43; border-color:#aa1d43; background:#fff; }
.btn-outline-primary:hover:not(:disabled):not(.disabled),.btn-outline-primary:active:not(:disabled):not(.disabled),.btn-outline-primary.active:not(:disabled):not(.disabled){border-color:#aa1d43;background:#aa1d43;color:#fff}
.btn-outline-primary:focus-visible{outline:3px solid rgba(170,29,67,.3);outline-offset:2px;box-shadow:none}
.btn-outline-primary:disabled,.btn-outline-primary.disabled{border-color:#d9d8dc;background:#f1f1f3;color:#55545a;opacity:1}
.btn-outline-primary .material-icons,.btn-outline-primary svg{color:inherit;fill:currentColor}
.form-check-input:checked { background-color:#aa1d43; border-color:#aa1d43; }
.form-control:focus,.form-select:focus { border-color:#cc7690; box-shadow:0 0 0 .2rem rgba(170,29,67,.16); }
html,body {overflow-x:clip;background:var(--nougalet-bg);color:var(--nougalet-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
a {color:var(--nougalet-primary);}
a:hover {color:var(--nougalet-primary-hover);}
.breadcrumb,.breadcrumb-wrapper,.page-header__breadcrumb {display:none!important;}
.btn {min-height:44px;border-radius:999px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s;}
.btn:disabled,.btn.disabled {border-color:#a8a6ac!important;background:#a8a6ac!important;color:#fff!important;cursor:not-allowed;}
.form-control,.form-select {min-height:44px;border:1px solid #dedce2;border-radius:8px;background:#fff;}
.alert-info {color:#584c7c;background:var(--nougalet-info-bg);border-color:#d9d2e9;}
.alert-warning {color:#714459;background:var(--nougalet-warning-bg);border-color:#eacbd5;}
.alert-success {color:#2d6651;background:var(--nougalet-success-bg);border-color:#c5dfd3;}
.alert-danger {color:#873241;background:var(--nougalet-error-bg);border-color:#edcbd1;}

/* Compact school header. */
.nougalet-header {position:relative;z-index:1030;background:var(--nougalet-bg);border-bottom:1px solid rgba(41,39,45,.07);}
.nougalet-header__inner {width:100%;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-inline:clamp(1rem,2.5vw,2.5rem);}
.nougalet-header__logo img {display:block;max-width:170px;max-height:52px;width:auto;height:auto;}
.nougalet-header__actions {display:flex;align-items:center;gap:.6rem;}
.nougalet-icon-action {position:relative;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.55rem .9rem;border:1px solid var(--nougalet-primary);border-radius:999px;background:transparent;color:var(--nougalet-primary);font:600 .875rem/1 inherit;text-decoration:none;white-space:nowrap;cursor:pointer;}
.nougalet-icon-action:hover {border-color:var(--nougalet-primary-hover);color:var(--nougalet-primary-hover);background:#fff5f8;}
.nougalet-icon-action .material-icons {font-size:1.35rem;}
.nougalet-icon-action .header-block__badge {display:grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .25rem;border-radius:999px;background:var(--nougalet-primary);color:#fff;font-size:.72rem;}
.nougalet-icon-action:focus-visible,.nougalet-circle-button:focus-visible,.product-miniature__visual:focus-visible,.product-miniature__title:focus-visible {outline:3px solid rgba(170,29,67,.28);outline-offset:3px;}

/* Public school pages use the available viewport without inherited sidebars. */
.nougalet-public-columns {width:100%;max-width:none;margin:0;padding-inline:clamp(1rem,2.5vw,2.5rem);}
.nougalet-public-columns>.row {margin:0;}
.nougalet-public-columns .left-column,.nougalet-public-columns .right-column {display:none!important;}
.nougalet-public-columns #center-column {width:100%;max-width:none;padding:0;}

/* Catalogue grid: four wide columns on desktop, then progressively fewer. */
.products {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,1.6vw,1.6rem);align-items:stretch;}
.products > .product-miniature { min-width:0; width:100%; max-width:none; }
.product-miniature__inner {height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(41,39,45,.055);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(41,39,45,.055);transition:transform .18s ease,box-shadow .18s ease;}
.product-miniature__inner:hover {transform:scale(1.015);box-shadow:0 12px 30px rgba(41,39,45,.1);}
.product-miniature__visual {display:block;width:100%;height:clamp(220px,24vw,310px);padding:1rem;border:0;background:#fff;cursor:pointer;}
.product-miniature__visual .product-miniature__image-container,.product-miniature__visual .product-miniature__image-link,.product-miniature__visual picture {display:flex;width:100%;height:100%;align-items:center;justify-content:center;}
.product-miniature__visual .product-miniature__image {width:100%;height:100%;object-fit:contain;}
.product-miniature__bottom {display:flex;flex:1;flex-direction:column;padding:1rem 1rem 1.1rem;}
.product-miniature__infos {display:flex;flex:1;flex-direction:column;align-items:flex-start;}
.product-miniature__title {display:-webkit-box;width:100%;min-height:2.8em;padding:0;border:0;background:none;color:var(--nougalet-text);font:600 1rem/1.4 inherit;text-align:left;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer;}
.product-miniature__title:hover {color:var(--nougalet-primary);}
.product-miniature__weight {margin-top:.25rem;color:var(--nougalet-muted);font-size:.82rem;}
.product-miniature__prices {margin-top:.65rem;display:flex;align-items:baseline;gap:.5rem;}
.product-miniature__price {color:var(--nougalet-text);font-size:1.15rem;font-weight:650;}
.product-miniature__actions {margin-top:.9rem;}
.product-miniature__form {display:flex;align-items:center;justify-content:space-between;gap:.6rem;}
.product-miniature__form .quantity-button__group {max-width:132px;}
.product-miniature__form .quantity-button__group .btn {min-width:38px;min-height:38px;padding:.25rem;border:1px solid #f1f1f3;border-radius:50%;background:#f1f1f3;color:#55545a;}
.product-miniature__form .quantity-button__group .btn:hover {border-color:#e5e5e8;background:#e5e5e8;color:#55545a;}
.product-miniature__form .form-control {min-height:40px;padding:.35rem;text-align:center;}
.product-miniature__add {display:grid;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;place-items:center;border-radius:50%;}
.product-flags {display:none!important;}
@media (max-width:1199.98px) { .products {grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:991.98px) { .products {grid-template-columns:repeat(2,minmax(0,1fr));} .product-miniature__visual{height:280px;} }
@media (max-width:575.98px) { .products {grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;} .product-miniature__visual{height:180px;padding:.6rem}.product-miniature__bottom{padding:.75rem}.product-miniature__form{gap:.35rem}.product-miniature__form .quantity-button__group{max-width:112px;} }
@media (max-width:389.98px) { .products {grid-template-columns:1fr;} .product-miniature__visual{height:240px;} }

/* Nougalet Ecoles: banner */
.nougalet-school-banner {position:relative;left:50%;width:100vw;min-height:340px;margin-left:-50vw;background:url('../img/Fond_ecoles.jpg') center center / cover no-repeat;display:flex;align-items:center;justify-content:center;padding:35px 24px;text-align:center;isolation:isolate;}
.nougalet-school-banner::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(25,16,20,.2),rgba(25,16,20,.05),rgba(25,16,20,.2));}
.nougalet-school-banner__title { margin:0;color:#fff;font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:600;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.48); }
@media(max-width:767px){.nougalet-school-banner{min-height:230px;padding:24px 16px;}}

/* One-photo quick view. */
.quickview__content {border:0;border-radius:16px;box-shadow:0 24px 70px rgba(41,39,45,.2);}
.quickview__header {position:absolute;z-index:2;top:.8rem;right:.8rem;padding:0;border:0;}
.nougalet-circle-button {display:grid;width:44px;height:44px;min-height:44px;padding:0;place-items:center;border:1px solid var(--nougalet-primary);border-radius:50%;background:var(--nougalet-primary);color:#fff;cursor:pointer;}
.nougalet-circle-button:hover {border-color:var(--nougalet-primary-hover);background:var(--nougalet-primary-hover);color:#fff;}
.quickview__body {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:2rem;padding:2rem;}
.quickview__single-image {display:flex;min-height:390px;align-items:center;justify-content:center;background:#fafafb;border-radius:12px;}
.quickview__single-image img {display:block;width:100%;height:100%;max-height:480px;object-fit:contain;}
.quickview .product__name {margin:0 0 1rem;font-size:clamp(1.4rem,2vw,1.9rem);font-weight:650;}
.nougalet-product-meta {display:flex;gap:1.25rem;margin:0 0 1rem;color:var(--nougalet-muted);font-size:.875rem;}
.nougalet-product-meta div {display:flex;gap:.35rem}.nougalet-product-meta dt{font-weight:600}.nougalet-product-meta dd{margin:0}
.nougalet-add-confirmation {min-height:1.4rem;margin-top:.75rem;color:var(--nougalet-success);font-weight:600;}
.quickview [data-nougalet-add-to-cart].btn-primary {border-color:var(--nougalet-primary);background:var(--nougalet-primary);color:#fff;white-space:nowrap;}
.quickview [data-nougalet-add-to-cart].btn-primary:hover {border-color:var(--nougalet-primary-hover);background:var(--nougalet-primary-hover);color:#fff;}
.quickview [data-nougalet-add-to-cart].is-loading {opacity:.72;cursor:wait;}
.quickview .quantity-button__group .btn {border:1px solid #f1f1f3;border-radius:50%;background:#f1f1f3;color:#55545a;}
.quickview .quantity-button__group .btn:hover {border-color:#e5e5e8;background:#e5e5e8;color:#55545a;}
.quantity-button__group .btn:focus-visible,.nougalet-cart-quantity:focus-visible {outline:3px solid rgba(85,84,90,.28);outline-offset:2px;}
.nougalet-add-confirmation[data-state="error"] {color:var(--nougalet-error);}
@media(max-width:767.98px){.quickview__body{grid-template-columns:1fr;gap:1rem;padding:1rem}.quickview__single-image{min-height:250px}.quickview__dialog{margin:.5rem}.quickview__content{max-height:calc(100vh - 1rem)}}

/* Cart drawer, opened only from the header button. */
.nougalet-cart-backdrop {position:fixed;z-index:1070;inset:0;background:rgba(25,20,23,.3);backdrop-filter:blur(2px);}
.nougalet-cart-drawer {position:fixed;z-index:1080;top:0;right:0;width:min(420px,100vw);height:100dvh;display:flex;flex-direction:column;background:#fff;box-shadow:-18px 0 55px rgba(41,39,45,.16);transform:translateX(105%);visibility:hidden;transition:transform .18s ease,visibility .18s;}
.nougalet-cart-drawer.is-open {transform:translateX(0);visibility:visible;}
.nougalet-cart-drawer>header {display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #eceaf0;}
.nougalet-cart-drawer h2 {margin:0;font-size:1.25rem;font-weight:650;}
.nougalet-cart-drawer__content {display:flex;min-height:0;flex:1;flex-direction:column;padding:1rem 1.25rem;overflow:auto;}
.nougalet-cart-lines {display:flex;flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;}
.nougalet-cart-line {display:grid;grid-template-columns:72px 1fr 42px;gap:.8rem;align-items:center;padding-bottom:.9rem;border-bottom:1px solid #efedf1;}
.nougalet-cart-line img {width:72px;height:72px;object-fit:contain;border-radius:8px;background:#fafafb;}
.nougalet-cart-line__info {display:flex;min-width:0;flex-direction:column;gap:.3rem}.nougalet-cart-line__info strong{font-size:.9rem}.nougalet-cart-line__info>span{font-weight:650}
.nougalet-cart-line__quantity {display:flex;align-items:center;gap:.65rem}.nougalet-cart-quantity,.nougalet-cart-remove{display:grid;width:36px;height:36px;place-items:center;border:1px solid #f1f1f3;border-radius:50%;background:#f1f1f3;color:#55545a;text-decoration:none}.nougalet-cart-quantity:hover{border-color:#e5e5e8;background:#e5e5e8;color:#55545a}.nougalet-cart-remove{width:40px;height:40px;border-color:#b54758;background:#fff;color:#b54758}.nougalet-cart-remove:hover{background:#b54758;color:#fff}
.nougalet-cart-total {display:flex;justify-content:space-between;margin-top:auto;padding:1.25rem 0;font-size:1.05rem;}.nougalet-cart-checkout{width:100%;}
.nougalet-cart-checkout.btn-primary {border-color:var(--nougalet-primary);background:transparent;color:var(--nougalet-primary);}
.nougalet-cart-checkout.btn-primary:hover {border-color:var(--nougalet-primary-hover);background:#fff5f8;color:var(--nougalet-primary-hover);}
.nougalet-cart-toast {position:fixed;z-index:1090;right:1.25rem;bottom:1.25rem;display:flex;max-width:min(390px,calc(100vw - 2rem));align-items:center;gap:.65rem;padding:.85rem 1rem;border:1px solid #c5dfd3;border-radius:12px;background:var(--nougalet-success-bg);color:#2d6651;box-shadow:0 12px 30px rgba(41,39,45,.12);opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease;}
.nougalet-cart-toast.nougalet-toast-expired{opacity:0;transform:translateY(8px);pointer-events:none}
.nougalet-cart-toast .material-icons{color:var(--nougalet-success)}body.nougalet-cart-open{overflow:hidden}

/* Minimal footer. */
.nougalet-footer {margin-top:3rem;border-top:1px solid #e9e7eb;background:#fff;color:var(--nougalet-muted);}
.nougalet-footer__inner {width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem clamp(1rem,2.5vw,2.5rem);}.nougalet-footer p{margin:0}.nougalet-footer nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.nougalet-footer a{color:var(--nougalet-muted);font-size:.875rem;text-decoration:none}.nougalet-footer a:hover{color:var(--nougalet-primary)}
@media(max-width:767.98px){.nougalet-header__inner{min-height:64px}.nougalet-header__logo img{max-width:125px;max-height:42px}.nougalet-icon-action{width:44px;height:44px;min-height:44px;padding:0;justify-content:center}.nougalet-icon-action>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.nougalet-icon-action .header-block__badge{position:absolute;top:-4px;right:-4px}.nougalet-footer__inner{align-items:flex-start;flex-direction:column}.nougalet-footer nav{flex-direction:column}.nougalet-cart-drawer{width:100vw}.nougalet-cart-toast{right:1rem;bottom:1rem}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.product-miniature__inner:hover{transform:none}}
#nougalet-legal-modal .modal-content{overflow:hidden;border:0;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.25)}#nougalet-legal-modal .modal-header{padding:1rem 1.25rem;border-bottom:1px solid #e8e4e7}#nougalet-legal-modal .modal-title{font-size:1.2rem}#nougalet-legal-modal .btn-close{width:42px;height:42px;padding:0;border-radius:50%;background-color:#f1f1f3;background-size:12px;opacity:1}#nougalet-legal-modal .btn-close:hover{background-color:#e5e5e8}#nougalet-legal-modal .btn-close:focus-visible{outline:3px solid rgba(170,29,67,.3);outline-offset:2px;box-shadow:none}#nougalet-legal-modal .modal-body{color:#3c393e}
.nougalet-legal-modal[hidden]{display:none}.nougalet-legal-modal{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:1rem}.nougalet-legal-modal__backdrop{position:absolute;inset:0;background:rgba(27,23,26,.56)}.nougalet-legal-modal__dialog{position:relative;display:flex;width:min(820px,100%);max-height:min(82vh,820px);flex-direction:column;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.25)}.nougalet-legal-modal__dialog>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #e8e4e7}.nougalet-legal-modal__dialog h2{margin:0;font-size:1.2rem}.nougalet-legal-modal__close{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border:0;border-radius:50%;background:#f1f1f3;color:#55545a}.nougalet-legal-modal__close:hover{background:#e5e5e8}.nougalet-legal-modal__close:focus-visible{outline:3px solid rgba(170,29,67,.3);outline-offset:2px}.nougalet-legal-modal__content{padding:1.25rem;overflow:auto;color:#3c393e}.nougalet-legal-modal__content h1{font-size:1.4rem}.nougalet-legal-modal__loading{color:#68646b}.nougalet-legal-modal-open{overflow:hidden}
/* Full-width schools portal. */
.nougalet-portal {width:100%;margin:0;}
.nougalet-portal__banner h1 {margin:0;color:#fff;font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:600;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.48);}
.nougalet-portal__content {width:100%;padding:clamp(2rem,5vw,4.5rem) clamp(1rem,2.5vw,2.5rem);}
.nougalet-portal__intro {max-width:760px;margin:0 auto 2.25rem;text-align:center;}
.nougalet-portal__intro p {font-size:1.1rem;color:#5f6368;}
.nougalet-portal__intro .btn {display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;}
.nougalet-portal__schools {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
.nougalet-portal__school {display:flex;min-height:210px;flex-direction:column;align-items:flex-start;padding:1.5rem;border:1px solid #e2e2e2;border-radius:.75rem;background:#fff;box-shadow:0 .25rem 1rem rgba(0,0,0,.06);}
.nougalet-portal__school h2 {margin:0 0 .4rem;font-size:1.25rem;}
.nougalet-portal__school p {margin:0 0 1.4rem;color:#666;}
.nougalet-portal__school .btn {margin-top:auto;}
.nougalet-portal__empty {text-align:center;color:#666;}
@media(max-width:991.98px){.nougalet-portal__schools{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:575.98px){.nougalet-portal__schools{grid-template-columns:1fr;}}
/* Keep pagination as a fallback until infinite scroll successfully initializes. */
#js-product-list[data-nougalet-infinite="1"] .nougalet-pagination-source {display:none!important;}
#nougalet-load-more[hidden] {display:none!important;}

/* Final global polish: shared cards, actions, forms and short-page footer. */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>#wrapper,body>main,#wrapper{flex:1 0 auto;width:100%}
body>.nougalet-footer{flex-shrink:0}
.page-header{margin:clamp(1.5rem,3vw,2.5rem) clamp(1rem,2.5vw,2.5rem) 1rem}
.page-header h1,.page-title{font-weight:650;letter-spacing:-.025em}
.nougalet-card{padding:clamp(1.2rem,2.5vw,2rem);border:1px solid rgba(41,39,45,.07);border-radius:14px;background:#fff;box-shadow:0 6px 24px rgba(41,39,45,.055)}
.nougalet-card h2{margin:0 0 1rem;font-size:1.15rem;font-weight:650}
.btn .material-icons{font-size:1.15rem;vertical-align:-.2em}
.btn-outline-primary{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(170,29,67,.27)!important;outline-offset:2px!important}
.alert{border-radius:12px}
.alert-success.nougalet-notice-expired{opacity:0;transition:opacity .3s ease;pointer-events:none}

/* Portal school cards. */
.nougalet-portal__schools{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);max-width:1440px;margin:0 auto}
.nougalet-portal__school{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;min-height:360px;padding:0;overflow:hidden;border:1px solid rgba(41,39,45,.06);border-radius:14px;background:#fff;color:var(--nougalet-text);text-decoration:none;box-shadow:0 7px 24px rgba(41,39,45,.06);transition:transform .2s ease,box-shadow .2s ease}
.nougalet-portal__school:hover{color:var(--nougalet-text);transform:scale(1.012);box-shadow:0 13px 34px rgba(41,39,45,.11)}
.nougalet-portal__school-image{grid-column:1/-1;width:100%;height:132px;object-fit:cover}
.nougalet-portal__school-icon{position:absolute;top:104px;left:1.35rem;display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:#fff;color:var(--nougalet-primary);font-size:28px;box-shadow:0 7px 20px rgba(41,39,45,.14)}
.nougalet-portal__school-body{display:flex;min-width:0;flex-direction:column;padding:2.5rem 1.35rem 1.4rem;color:var(--nougalet-muted);line-height:1.5}
.nougalet-portal__school-title{margin-bottom:.55rem;color:var(--nougalet-text);font-size:1.18rem;font-weight:650}
.nougalet-portal__school-action{align-self:end;display:grid;width:46px;height:46px;margin:0 1.2rem 1.2rem;place-items:center;border-radius:50%;background:var(--nougalet-primary);color:#fff}

/* Common parent/referent access. */
.nougalet-access-page,.nougalet-tracking-page,.nougalet-confirmation{width:100%;max-width:1440px;margin:0 auto;padding:0 clamp(1rem,2.5vw,2.5rem) clamp(2.5rem,5vw,5rem)}
.nougalet-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem)}
.nougalet-access-card{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:clamp(1.4rem,3vw,2.4rem);border:1px solid rgba(41,39,45,.07);border-radius:14px;background:#fff;box-shadow:0 6px 24px rgba(41,39,45,.055)}
.nougalet-access-card__icon{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--nougalet-info-bg);color:var(--nougalet-info)}
.nougalet-access-card h2{margin:1.1rem 0 .5rem;font-size:1.3rem}.nougalet-access-card p{color:var(--nougalet-muted)}
.nougalet-access-card>.btn{margin-top:auto}.nougalet-access-schools{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;margin-top:auto;align-items:end}.nougalet-access-schools label{grid-column:1/-1;margin-bottom:-.25rem;font-size:.88rem;font-weight:650}.nougalet-access-schools .form-select{min-width:0}.nougalet-access-schools .btn{white-space:nowrap}

/* Parent tracking and invoice views. */
.nougalet-tracking-form{display:flex;max-width:840px;flex-direction:column;gap:1.25rem}
.nougalet-tracking-form label,.nougalet-invoice-form label{display:block;margin-bottom:.4rem;font-size:.88rem;font-weight:650}
.nougalet-tracking-form fieldset{margin:0;padding:1.1rem;border:1px solid #e8e5ea;border-radius:12px}.nougalet-tracking-form legend{float:none;width:auto;margin:0 0 .4rem;padding:0;font-size:1rem;font-weight:650}
.nougalet-form-help{color:var(--nougalet-muted);font-size:.9rem;line-height:1.5}
.nougalet-tracking-identifiers{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:end}.nougalet-tracking-or{display:grid;width:36px;height:36px;place-items:center;margin-bottom:4px;border-radius:50%;background:#f2eff8;color:#6d6093;font-size:.78rem;font-weight:700}
.nougalet-tracking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.nougalet-tracking-products,.nougalet-tracking-invoice{grid-column:1/-1}
.nougalet-data-list{display:grid;grid-template-columns:minmax(120px,.42fr) 1fr;gap:.65rem 1rem;margin:0}.nougalet-data-list dt{color:var(--nougalet-muted);font-weight:600}.nougalet-data-list dd{margin:0}
.nougalet-tracking-total{display:flex;justify-content:flex-end;gap:2rem;margin:1rem 0 0;padding-top:1rem;border-top:1px solid #ebe8ed;font-size:1.1rem}
.nougalet-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.nougalet-form-grid .is-wide{grid-column:1/-1}

/* Account-free order confirmation. */
.nougalet-confirmation{display:flex;flex-direction:column;gap:1rem}
.nougalet-confirmation__header{display:flex;align-items:center;gap:1rem;padding:1.35rem;border:1px solid #c5dfd3;border-radius:14px;background:var(--nougalet-success-bg);color:#2d6651}.nougalet-confirmation__header>.material-icons{font-size:2rem}.nougalet-confirmation__header h1{margin:0 0 .25rem;font-size:clamp(1.45rem,3vw,2rem)}.nougalet-confirmation__header p{margin:0}
.nougalet-confirmation__actions{display:flex;flex-wrap:wrap;gap:.75rem}.nougalet-confirmation .order-confirmation__account-transformation{display:none!important}
.nougalet-confirmation-school h2{margin:0 0 1rem;font-size:1.15rem}.nougalet-confirmation-pickup{margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid #ebe8ed;line-height:1.5}

/* Checkout spacing and a more readable summary column. */
@media(min-width:1100px){body#checkout .checkout-grid{grid-template-columns:minmax(0,1fr) minmax(390px,450px);max-width:1540px}}
body#checkout #nougalet-school-checkout,body#checkout .one-page-checkout__section{padding:clamp(1.35rem,2.4vw,1.9rem)}
body#checkout .checkout__summary-accordion-wrapper{padding:0 1.5rem 1.5rem}
body#checkout .checkout__summary-accordion-wrapper .cart-summary-line{padding:.8rem 0}

@media(max-width:1279.98px){.nougalet-portal__schools{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.nougalet-portal__schools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.nougalet-access-grid,.nougalet-tracking-grid,.nougalet-form-grid{grid-template-columns:1fr}.nougalet-tracking-products,.nougalet-tracking-invoice,.nougalet-form-grid .is-wide{grid-column:auto}.nougalet-tracking-identifiers{grid-template-columns:1fr}.nougalet-tracking-or{margin:0 auto}.nougalet-data-list{grid-template-columns:1fr}.nougalet-data-list dd{margin-top:-.45rem}.nougalet-confirmation__header{align-items:flex-start}.nougalet-portal__school{min-height:330px}}
@media(max-width:575.98px){.nougalet-portal__schools{grid-template-columns:1fr}.nougalet-access-schools{grid-template-columns:1fr}.nougalet-access-schools label{grid-column:auto}.nougalet-access-schools .btn{width:100%}}
