/*
Glisborg Foto
KOMPLET /assets/css/site.css
Version 0.81

Indeholder:
- hele den fungerende offentlige CSS fra v0.33
- galleri-ramme og sprogvalg fra v0.35

ERSTAT hele indholdet af site.css med denne fil.
*/

/*
 * Glisborg Foto
 * Fil på server: /assets/css/site.css
 * Version: 0.33
 *
 * KOMPLET offentlig CSS:
 * - grunddesignet fra den fungerende v0.18-forside
 * - offentlig galleri-CSS fra v0.33
 */

:root{
 --ivory:#fbf8f1;
 --cream:#f2eadc;
 --sand:#ddcfb9;
 --bronze:#a57b48;
 --deep:#6f5236;
 --ink:#28231f;
 --soft:#766e64;
 --line:rgba(111,82,54,.14);
 --max:1180px;
}
*{box-sizing:border-box}
body{
 margin:0;
 background:var(--ivory);
 color:var(--ink);
 font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;
 line-height:1.6;
 -webkit-font-smoothing:antialiased;
}
.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}

.header{background:var(--ivory)}
.header-inner{
 min-height:88px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:32px;
}
.brand{
 display:flex;
 flex-direction:column;
 text-decoration:none;
 color:var(--ink);
 line-height:1;
}
.brand-name{
 font-family:"M PLUS Rounded 1c","Segoe UI",sans-serif;
 font-size:1.18rem;
 font-weight:700;
 letter-spacing:.18em;
}
.brand-sub{
 margin-top:8px;
 color:var(--bronze);
 font-family:"M PLUS Rounded 1c","Segoe UI",sans-serif;
 font-size:.73rem;
 font-weight:500;
 letter-spacing:.14em;
 text-transform:uppercase;
}
.nav{display:flex;gap:28px;align-items:center}
.nav a{text-decoration:none;color:var(--soft)}
.nav a:hover{color:var(--bronze)}

.bronze-rule{
 height:3px;
 background:linear-gradient(90deg,
  #d9c7a6 0%,#9d7244 19%,#c9aa77 38%,
  #735239 57%,#c7a36d 76%,#e3d4b7 100%);
 opacity:.82;
}
.bronze-rule--footer{margin-top:0}

.home-content{padding:52px 0 68px}

.feature{
 background:#fff;
 border:1px solid var(--line);
}
.feature--duo{
 min-height:410px;
 display:grid;
 grid-template-columns:500px minmax(260px,1fr) 210px;
 gap:28px;
 align-items:center;
 padding:28px 32px;
}
.feature-photo{
 display:flex;
 align-items:center;
 justify-content:center;
 min-width:0;
}
.accent-frame{
 display:inline-flex;
 padding:5px;
 background:linear-gradient(118deg,
 #d7c29e,#9b7041 31%,#c9aa77 53%,#74543a 72%,#e0cfad);
}
.duo-image{
 display:block;
 width:auto;
 height:auto;
}
.duo-image--portrait{
 max-height:310px;
 max-width:200px;
 width:auto;
 height:auto;
}
.feature-photo--landscape .accent-frame{
 width:100%;
 max-width:500px;
}
.duo-image--landscape{
 display:block;
 width:100%;
 max-width:none;
 height:auto;
 aspect-ratio:3 / 2;
 object-fit:cover;
}
.feature-copy--center{
 padding:24px 10px;
 text-align:left;
}
h1{
 margin:0 0 18px;
 font-family:"M PLUS Rounded 1c","Segoe UI",sans-serif;
 font-size:clamp(2.2rem,3.7vw,3.5rem);
 line-height:1.08;
 font-weight:500;
 letter-spacing:-.025em;
}
.lead{
 margin:0;
 max-width:500px;
 color:#554c43;
 font-size:clamp(1.04rem,1.5vw,1.18rem);
 line-height:1.65;
 font-weight:400;
}
.placeholder-frame{
 min-width:180px;
 min-height:260px;
 align-items:center;
 justify-content:center;
 background:linear-gradient(118deg,
 #d7c29e,#9b7041 31%,#c9aa77 53%,#74543a 72%,#e0cfad);
}
.placeholder-frame--landscape{
 width:100%;
 max-width:500px;
 min-height:auto;
 aspect-ratio:3 / 2;
}
.placeholder-frame span{
 display:grid;
 place-items:center;
 width:100%;
 height:100%;
 background:linear-gradient(145deg,#eee5d7,#e5d8c5);
 color:#76634e;
 font-size:.78rem;
 font-weight:600;
 letter-spacing:.18em;
}

footer{background:#fff}
.footer-inner{
 min-height:82px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 color:var(--soft);
 font-size:.9rem;
}

@media(max-width:900px){
 .feature--duo{
  grid-template-columns:1fr 1fr;
 }
 .feature-copy--center{
  grid-column:1/-1;
  grid-row:1;
  text-align:center;
  padding-bottom:8px;
 }
 .feature-photo--landscape{grid-column:1}
 .feature-photo--portrait{grid-column:2}
}

@media(max-width:650px){
 .wrap{width:min(calc(100% - 30px),var(--max))}
 .header-inner{min-height:80px}
 .home-content{padding:32px 0 52px}
 .feature--duo{
  grid-template-columns:1fr;
  gap:24px;
  padding:22px 18px 26px;
 }
 .feature-copy--center{
  grid-column:auto;
  grid-row:auto;
  text-align:left;
 }
 .feature-photo--portrait,
 .feature-photo--landscape{
  grid-column:auto;
 }
 .duo-image--portrait{max-height:280px}
 .duo-image--landscape{max-width:100%}
 .footer-inner{
  min-height:auto;
  padding:20px 0;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
 }
}


/* v0.16 – equal displayed image heights on desktop */
@media (min-width:901px){
  .feature--duo{
    grid-template-columns:500px minmax(260px,1fr) 235px;
  }
  .feature-photo--landscape .accent-frame{
    width:500px;
  }
  .duo-image--landscape{
    width:100%;
    height:333px;
    object-fit:cover;
  }
  .duo-image--portrait{
    width:auto;
    height:333px;
    max-width:none;
    max-height:none;
    object-fit:contain;
  }
}


/* v0.17 – keep homepage heading on one line on desktop */
@media (min-width:901px){
  .feature-copy--center h1{
    font-size:2.75rem;
    white-space:nowrap;
  }
}


/* v0.18 – preserve each photo's natural aspect ratio */
@media (min-width:901px){
  .feature-photo--landscape .accent-frame{
    width:auto;
    max-width:none;
  }
  .duo-image--landscape,
  .duo-image--portrait{
    display:block;
    width:auto;
    height:333px;
    max-width:none;
    max-height:none;
    aspect-ratio:auto;
    object-fit:contain;
  }
}

/*
 * Glisborg Foto – offentlig galleri-del
 * CSS-tilføjelse
 * Version: 0.33
 *
 * Tilføj nederst i /assets/css/site.css
 */

.public-main{
 min-height:calc(100vh - 180px)
}

.gallery-overview,
.gallery-entry{
 padding:54px 0 84px
}

.public-page-head{
 max-width:720px;
 margin-bottom:34px
}

.public-page-head h1{
 margin:0 0 12px;
 font-family:"M PLUS Rounded 1c","Segoe UI",sans-serif;
 font-size:clamp(2.25rem,4vw,3.8rem);
 line-height:1.08;
 font-weight:500;
 letter-spacing:-.03em
}

.public-page-head p{
 margin:0;
 color:var(--soft);
 font-size:1.05rem
}

.public-gallery-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:24px
}

.public-gallery-card{
 display:block;
 min-width:0;
 background:#fff;
 border:1px solid var(--line);
 color:inherit;
 text-decoration:none;
 transition:transform .16s ease,border-color .16s ease
}

.public-gallery-card:hover{
 transform:translateY(-2px);
 border-color:rgba(165,123,72,.48)
}

.public-gallery-card__image{
 aspect-ratio:3 / 2;
 overflow:hidden;
 background:var(--cream)
}

.public-gallery-card__image img{
 display:block;
 width:100%;
 height:100%;
 object-fit:cover
}

.public-gallery-card__body{
 padding:18px 20px 20px
}

.public-gallery-card__title-row{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:12px
}

.public-gallery-card h2{
 margin:0;
 font-family:"M PLUS Rounded 1c","Segoe UI",sans-serif;
 font-size:1.23rem;
 line-height:1.3;
 font-weight:500
}

.public-gallery-card p{
 margin:9px 0 0;
 color:var(--soft);
 font-size:.92rem;
 line-height:1.5
}

.private-badge{
 flex:0 0 auto;
 display:inline-flex;
 align-items:center;
 min-height:25px;
 padding:3px 8px;
 border:1px solid rgba(165,123,72,.34);
 color:var(--bronze);
 background:var(--ivory);
 font-size:.72rem;
 font-weight:600;
 letter-spacing:.04em
}

.public-empty,
.gallery-coming-next{
 padding:30px;
 background:#fff;
 border:1px solid var(--line)
}

.public-empty p,
.gallery-coming-next p{
 margin:0
}

.gallery-coming-next small{
 display:block;
 margin-top:5px;
 color:var(--soft)
}

.public-back-link{
 display:inline-block;
 margin-bottom:24px;
 color:var(--deep);
 text-decoration:none
}

.public-back-link:hover{
 text-decoration:underline
}

.gallery-login-card{
 display:grid;
 grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
 background:#fff;
 border:1px solid var(--line)
}

.gallery-login-card__cover{
 min-height:430px;
 overflow:hidden;
 background:var(--cream)
}

.gallery-login-card__cover img{
 width:100%;
 height:100%;
 display:block;
 object-fit:cover
}

.gallery-login-card__content{
 padding:44px;
 display:flex;
 flex-direction:column;
 justify-content:center
}

.gallery-login-card__content h1{
 margin:14px 0 14px;
 font-family:"M PLUS Rounded 1c","Segoe UI",sans-serif;
 font-size:clamp(2rem,3.6vw,3.25rem);
 line-height:1.08;
 font-weight:500;
 letter-spacing:-.03em
}

.gallery-login-card__content > p{
 margin:0 0 24px;
 color:var(--soft)
}

.gallery-password-form{
 display:grid;
 gap:10px;
 max-width:390px
}

.gallery-password-form label{
 font-weight:600
}

.gallery-password-form input{
 width:100%;
 padding:12px 13px;
 border:1px solid var(--line);
 background:#fff;
 color:var(--ink);
 font:inherit
}

.gallery-password-form input:focus{
 outline:2px solid rgba(165,123,72,.18);
 border-color:var(--bronze)
}

.public-button{
 justify-self:start;
 min-height:44px;
 margin-top:4px;
 padding:0 20px;
 border:0;
 background:var(--deep);
 color:#fff;
 font:inherit;
 cursor:pointer
}

.public-button:hover{
 background:#5e452f
}

.public-notice{
 padding:11px 13px;
 margin:0 0 16px;
 border:1px solid var(--line)
}

.public-notice--error{
 background:#fff5f3
}

@media(max-width:980px){
 .public-gallery-grid{
   grid-template-columns:repeat(2,minmax(0,1fr))
 }

 .gallery-login-card{
   grid-template-columns:1fr
 }

 .gallery-login-card__cover{
   min-height:320px
 }
}

@media(max-width:620px){
 .gallery-overview,
 .gallery-entry{
   padding:34px 0 58px
 }

 .public-gallery-grid{
   grid-template-columns:1fr
 }

 .gallery-login-card__content{
   padding:28px
 }

 .gallery-login-card__cover{
   min-height:250px
 }
}

/*
Glisborg Foto
Tilføj nederst i /assets/css/site.css
Version 0.35
*/

/* Mere kompakt overskrift på gallerioversigten */
.public-page-head--compact{
 margin-bottom:28px;
}

/* Fin bronze/guld-ramme omkring hvert galleri */
.public-gallery-card{
 padding:4px;
 background:linear-gradient(
  118deg,
  #d7c29e,
  #9b7041 31%,
  #c9aa77 53%,
  #74543a 72%,
  #e0cfad
 );
 border:0;
}

.public-gallery-card__image,
.public-gallery-card__body{
 background:#fff;
}

.public-gallery-card__image{
 border:0;
}

/* Sprogvalg i offentlig header */
.language-switch{
 display:flex;
 align-items:center;
 gap:7px;
 margin-left:18px;
 font-size:.78rem;
 letter-spacing:.08em;
 color:var(--soft);
}

.language-switch a{
 color:var(--soft);
 text-decoration:none;
}

.language-switch a:hover,
.language-switch a.is-active{
 color:var(--bronze);
}

.language-switch a.is-active{
 font-weight:700;
}

@media(max-width:760px){
 .language-switch{
   margin-left:0;
 }
}


/* v0.38 – adgang med mailadresse */
.gallery-access-help{
 margin-top:-10px !important;
 margin-bottom:22px !important;
 font-size:.92rem;
 color:var(--soft);
}

/* v0.45 – offentlig album- og billedvisning */
.public-coming-note{margin:0 0 22px;padding:11px 14px;border:1px solid rgba(151,108,61,.28);background:var(--cream);color:var(--deep);font-size:.9rem}
.public-album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.public-album-card{display:block;border:1px solid var(--line);background:#fff;color:inherit;text-decoration:none}
.public-album-card__image{aspect-ratio:3/2;overflow:hidden;background:var(--ivory)}
.public-album-card__image img{display:block;width:100%;height:100%;object-fit:cover}
.public-album-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--bronze);font-size:.8rem;letter-spacing:.16em}
.public-album-card__body{padding:18px}.public-album-card__body h2{margin:0;font-size:1.15rem}
.public-album-card__meta{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--soft);font-size:.84rem}
.public-coming-badge{display:inline-flex;padding:4px 8px;border:1px solid rgba(151,108,61,.34);background:var(--cream);color:var(--deep);font-size:.78rem}
.public-album-view__head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:28px 0 18px}.public-album-view__head h2{margin:0 0 8px}.public-album-view__head>a{color:var(--bronze);text-decoration:none;font-size:.9rem}
.public-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.public-photo{padding:0;border:0;background:var(--ivory);cursor:zoom-in;aspect-ratio:1/1;overflow:hidden}.public-photo img{display:block;width:100%;height:100%;object-fit:cover}
.public-empty-album{padding:28px;background:var(--ivory);color:var(--soft)}
.public-lightbox[hidden]{display:none}.public-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px 72px;background:rgba(16,13,11,.92)}.public-lightbox img{display:block;max-width:100%;max-height:92vh;object-fit:contain}
.public-lightbox__close,.public-lightbox__prev,.public-lightbox__next{position:absolute;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;line-height:1}.public-lightbox__close{top:18px;right:22px;width:44px;height:44px;font-size:2rem}.public-lightbox__prev,.public-lightbox__next{top:50%;transform:translateY(-50%);width:48px;height:64px;font-size:2.4rem}.public-lightbox__prev{left:16px}.public-lightbox__next{right:16px}body.lightbox-open{overflow:hidden}
@media(max-width:820px){.public-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-album-grid{grid-template-columns:1fr}}
@media(max-width:560px){.public-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-lightbox{padding:56px 12px}}


/* v0.47 – pagination */
.public-pagination{
 margin-top:26px;
 padding-top:18px;
 border-top:1px solid var(--line);
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:18px;
 flex-wrap:wrap
}

.public-pagination a{
 color:var(--deep);
 text-decoration:none;
}

.public-pagination a:hover{
 color:var(--bronze);
}

.public-pagination__pages{
 display:flex;
 align-items:center;
 gap:7px;
 flex-wrap:wrap
}

.public-pagination__pages a,
.public-pagination__pages span{
 min-width:34px;
 height:34px;
 padding:0 8px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border:1px solid var(--line);
 background:#fff;
}

.public-pagination__pages .is-current{
 border-color:var(--bronze);
 background:var(--cream);
 color:var(--deep);
 font-weight:600;
}


/* v0.49 – fallback hvis en privat thumbnailfil mangler */
.public-photo__missing{
 display:flex;
 width:100%;
 height:100%;
 align-items:center;
 justify-content:center;
 color:var(--bronze);
 font-size:.7rem;
 letter-spacing:.14em;
}


/* v0.50 – favoritter */

.public-gallery-toolbar{
 display:flex;
 justify-content:flex-end;
 margin:-14px 0 22px;
}

.public-favorites-link{
 display:inline-flex;
 align-items:center;
 gap:7px;
 color:var(--deep);
 text-decoration:none;
 font-size:.92rem;
}

.public-favorites-link > span:first-child{
 color:var(--bronze);
 font-size:1.15rem;
}

.public-favorites-link:hover{
 color:var(--bronze);
}

.public-photo-card{
 position:relative;
 min-width:0;
}

.public-photo-card .public-photo{
 width:100%;
 height:100%;
}

.favorite-button{
 position:absolute;
 z-index:5;
 top:8px;
 right:8px;
 width:38px;
 height:38px;
 display:grid;
 place-items:center;
 padding:0;
 border:1px solid rgba(111,82,54,.18);
 border-radius:50%;
 background:rgba(255,255,255,.9);
 color:var(--deep);
 font-size:1.35rem;
 line-height:1;
 cursor:pointer;
 box-shadow:0 2px 9px rgba(0,0,0,.08);
}

.favorite-button:hover{
 background:#fff;
 color:var(--bronze);
}

.favorite-button.is-favorite{
 background:rgba(255,255,255,.96);
 color:var(--bronze);
}

.favorite-button:disabled{
 opacity:.55;
 cursor:wait;
}

@media(max-width:620px){
 .public-gallery-toolbar{
   justify-content:flex-start;
   margin-top:-8px;
 }
}

/* v0.54 – valg til bestilling og ordreoversigt */
.order-photo-select{position:absolute;z-index:6;left:8px;top:8px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);border:1px solid rgba(111,82,54,.18);cursor:pointer;box-shadow:0 2px 9px rgba(0,0,0,.08)}
.order-photo-select input{position:absolute;opacity:0;pointer-events:none}
.order-photo-select>span[aria-hidden]{opacity:0;color:var(--bronze);font-size:1.1rem;font-weight:700}
.order-photo-select:has(input:checked)>span[aria-hidden]{opacity:1}
.public-photo-card.is-order-selected{outline:2px solid var(--bronze);outline-offset:3px}
.favorite-order-panel{margin-top:34px;padding:26px;border:1px solid var(--line);background:#fff}
.favorite-order-panel__head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.favorite-order-panel__head h2{margin:.15em 0 .35em}
.favorite-order-panel__head p{margin-top:0;color:var(--soft)}
.favorite-order-count{text-align:center;min-width:86px;padding:10px;border:1px solid var(--line);background:var(--cream)}
.favorite-order-count strong,.favorite-order-count span{display:block}
.favorite-order-count strong{font-size:1.55rem;color:var(--deep)}
.favorite-order-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.favorite-order-option{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:16px;text-align:left;border:1px solid var(--line);background:#fff;color:var(--deep);cursor:pointer}
.favorite-order-option:hover{border-color:var(--bronze);background:var(--cream)}
.favorite-order-option span{color:var(--soft);font-size:.88rem}
.favorite-order-option b{margin-top:5px}
.favorite-order-message{margin-top:15px;color:var(--soft)}
.order-review-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.order-review-card{padding:22px;border:1px solid var(--line);background:#fff}
.order-review-card h2{margin:.15em 0 .45em}
.order-review-price{display:flex;justify-content:space-between;gap:20px;padding-top:16px;margin-top:18px;border-top:1px solid var(--line)}
.order-selected-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:20px}
.order-selected-photo{aspect-ratio:1/1;overflow:hidden;background:var(--cream)}
.order-selected-photo img{width:100%;height:100%;object-fit:cover}
.order-next-note{margin-top:24px;padding:18px;border:1px solid var(--line);background:var(--cream)}
.order-next-note p{margin:.35em 0 0;color:var(--soft)}
@media(max-width:900px){.favorite-order-options{grid-template-columns:repeat(2,minmax(0,1fr))}.order-selected-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.favorite-order-panel__head,.order-review-layout{display:block}.favorite-order-count{margin-top:14px;width:70px}.favorite-order-options{grid-template-columns:1fr}.order-selected-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* v0.55 – skjul hjælpetekst visuelt ved valg til bestilling */
.sr-only{
 position:absolute !important;
 width:1px !important;
 height:1px !important;
 padding:0 !important;
 margin:-1px !important;
 overflow:hidden !important;
 clip:rect(0,0,0,0) !important;
 white-space:nowrap !important;
 border:0 !important;
}

.order-photo-select{
 overflow:hidden;
}


/* v0.59 – afslut bestilling og ordrebekræftelse */

.order-submit-card{
 margin-top:24px;
 padding:24px;
 border:1px solid var(--line);
 background:#fff;
}

.order-submit-card h2{
 margin:.15em 0 1em;
}

.order-submit-form{
 display:grid;
 gap:20px;
}

.order-submit-form > label{
 display:grid;
 gap:7px;
 font-weight:600;
}

.order-submit-form input[type="text"]{
 width:100%;
 max-width:520px;
 padding:11px 12px;
 border:1px solid var(--line);
 background:#fff;
 color:var(--deep);
 font:inherit;
}

.order-field-label{
 display:block;
 margin-bottom:9px;
 font-weight:600;
}

.order-payment-methods{
 display:grid;
 gap:9px;
 max-width:680px;
}

.order-payment-choice{
 display:flex;
 gap:11px;
 align-items:flex-start;
 padding:13px 14px;
 border:1px solid var(--line);
 background:#fff;
 cursor:pointer;
}

.order-payment-choice:has(input:checked){
 border-color:var(--bronze);
 background:var(--cream);
}

.order-payment-choice input{
 margin-top:3px;
}

.order-payment-choice strong,
.order-payment-choice small{
 display:block;
}

.order-payment-choice small{
 margin-top:3px;
 color:var(--soft);
}

.order-submit-total{
 max-width:680px;
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:20px;
 padding-top:16px;
 border-top:1px solid var(--line);
}

.order-submit-total strong{
 font-size:1.3rem;
}

.order-confirmation-hero{
 max-width:760px;
 margin-bottom:28px;
}

.order-confirmation-hero h1{
 margin:.15em 0 .55em;
}

.order-number-box{
 display:inline-flex;
 flex-direction:column;
 gap:4px;
 margin:8px 0 14px;
 padding:15px 18px;
 border:1px solid var(--bronze);
 background:var(--cream);
}

.order-number-box span{
 color:var(--soft);
 font-size:.82rem;
}

.order-number-box strong{
 font-size:1.35rem;
 letter-spacing:.04em;
}

.order-confirmation-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:18px;
}

.payment-instructions{
 line-height:1.6;
 color:var(--deep);
}

.payment-reference-box{
 margin-top:18px;
 padding:12px 14px;
 background:var(--cream);
 border:1px solid var(--line);
}

.payment-reference-box span,
.payment-reference-box strong{
 display:block;
}

.payment-reference-box span{
 color:var(--soft);
 font-size:.8rem;
}

.payment-reference-box strong{
 margin-top:3px;
 font-size:1.12rem;
}

.confirmation-line{
 display:flex;
 justify-content:space-between;
 gap:18px;
 padding:8px 0;
 border-bottom:1px solid var(--line);
}

.confirmation-total{
 display:flex;
 justify-content:space-between;
 gap:18px;
 padding-top:15px;
 margin-top:8px;
}

.confirmation-total strong{
 font-size:1.2rem;
}

.order-awaiting-note{
 margin:20px 0;
 padding:18px;
 background:var(--cream);
 border:1px solid var(--line);
}

.order-awaiting-note p{
 margin:.4em 0 0;
 color:var(--soft);
}

.public-button--link{
 display:inline-flex;
 align-items:center;
 text-decoration:none;
}

.public-button:disabled{
 opacity:.5;
 cursor:not-allowed;
}

@media(max-width:760px){
 .order-confirmation-grid{
   grid-template-columns:1fr;
 }
}


/* v0.60 – kundens e-mail på ordresiden */

.order-customer-fields{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:18px;
 max-width:760px;
}

.order-customer-fields > label,
.order-email-field{
 display:grid;
 gap:7px;
 font-weight:600;
}

.order-customer-fields input[type="text"]{
 width:100%;
 box-sizing:border-box;
 padding:11px 12px;
 border:1px solid var(--line);
 background:#fff;
 color:var(--deep);
 font:inherit;
}

.order-email-value{
 min-height:44px;
 box-sizing:border-box;
 display:flex;
 align-items:center;
 padding:11px 12px;
 border:1px solid var(--line);
 background:var(--cream);
 color:var(--deep);
 font-weight:400;
}

.order-email-field small{
 color:var(--soft);
 font-weight:400;
 line-height:1.45;
}

@media(max-width:700px){
 .order-customer-fields{
   grid-template-columns:1fr;
 }
}


/* v0.61 – navn og e-mail i samme visuelle højde */
.order-customer-fields{
 align-items:start;
}

.order-customer-fields > label{
 display:grid;
 grid-template-rows:auto 44px auto;
 gap:7px;
}

.order-customer-fields input[type="text"]{
 height:44px;
 min-height:44px;
 padding:0 12px;
}

.order-email-field{
 display:grid;
 grid-template-rows:auto 44px auto;
 gap:7px;
}

.order-email-value{
 height:44px;
 min-height:44px;
}


/* v0.62 – kunde-login og Mine ordrer */

.customer-login-card{
 max-width:560px;
 margin:0 auto;
 padding:30px;
 border:1px solid var(--line);
 background:#fff;
}

.customer-login-card h1{
 margin:.15em 0 .6em;
}

.customer-login-card > p{
 color:var(--soft);
 line-height:1.55;
}

.customer-login-form{
 display:grid;
 gap:16px;
 margin-top:20px;
}

.customer-login-form label{
 display:grid;
 gap:7px;
 font-weight:600;
}

.customer-login-form input{
 width:100%;
 box-sizing:border-box;
 padding:11px 12px;
 border:1px solid var(--line);
 background:#fff;
 color:var(--deep);
 font:inherit;
}

.customer-login-secondary{
 margin-top:12px;
}

.customer-login-secondary button{
 padding:0;
 border:0;
 background:transparent;
 color:var(--bronze);
 font:inherit;
 cursor:pointer;
}

.my-orders-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:24px;
 margin-bottom:26px;
}

.my-orders-head h1{
 margin:.12em 0 .3em;
}

.my-orders-head p{
 margin:0;
 color:var(--soft);
}

.customer-logout-link{
 color:var(--bronze);
 text-decoration:none;
}

.customer-order-list{
 display:grid;
 gap:12px;
}

.customer-order-card{
 display:flex;
 justify-content:space-between;
 gap:24px;
 padding:18px 20px;
 border:1px solid var(--line);
 background:#fff;
 color:inherit;
 text-decoration:none;
}

.customer-order-card:hover{
 border-color:var(--bronze);
}

.customer-order-card strong,
.customer-order-card span,
.customer-order-card small{
 display:block;
}

.customer-order-card span{
 margin-top:3px;
}

.customer-order-card small{
 margin-top:4px;
 color:var(--soft);
}

.customer-order-card__side{
 display:flex;
 flex-direction:column;
 align-items:flex-end;
 justify-content:space-between;
 gap:8px;
}

.customer-order-status{
 display:inline-flex;
 padding:4px 8px;
 border:1px solid var(--line);
 color:var(--soft);
 font-size:.8rem;
}

.customer-order-status.is-ready{
 border-color:var(--bronze);
 background:var(--cream);
 color:var(--deep);
}

.customer-order-detail-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:18px;
}

.customer-detail-lines{
 display:grid;
 gap:9px;
 margin-top:16px;
}

.customer-detail-lines > div{
 display:flex;
 justify-content:space-between;
 gap:20px;
 padding-top:9px;
 border-top:1px solid var(--line);
}

.customer-detail-lines span{
 color:var(--soft);
}

.customer-download-ready{
 margin-top:20px;
 padding:18px;
 border:1px solid var(--bronze);
 background:var(--cream);
}

.customer-download-ready p{
 margin:.4em 0 0;
 color:var(--soft);
}

@media(max-width:720px){
 .my-orders-head,
 .customer-order-card{
   flex-direction:column;
 }

 .customer-order-card__side{
   align-items:flex-start;
 }

 .customer-order-detail-grid{
   grid-template-columns:1fr;
 }
}


/* v0.63 – billeder på kundens ordreside */

.customer-order-images{
 margin-top:24px;
 padding-top:22px;
 border-top:1px solid var(--line);
}

.customer-order-images__head{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 gap:20px;
 margin-bottom:16px;
}

.customer-order-images__head h2{
 margin:.12em 0 0;
}

.customer-order-watermark-note{
 max-width:360px;
 color:var(--soft);
 font-size:.86rem;
 text-align:right;
}

.customer-order-photo-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:10px;
}

.customer-order-photo{
 padding:0;
 border:0;
 background:var(--ivory);
 aspect-ratio:1 / 1;
 overflow:hidden;
 cursor:zoom-in;
}

.customer-order-photo img{
 display:block;
 width:100%;
 height:100%;
 object-fit:cover;
}

.customer-order-photo span{
 display:flex;
 width:100%;
 height:100%;
 align-items:center;
 justify-content:center;
 color:var(--bronze);
 font-size:.7rem;
 letter-spacing:.14em;
}

@media(max-width:820px){
 .customer-order-photo-grid{
   grid-template-columns:repeat(3,minmax(0,1fr));
 }
}

@media(max-width:620px){
 .customer-order-images__head{
   align-items:flex-start;
   flex-direction:column;
 }

 .customer-order-watermark-note{
   text-align:left;
 }

 .customer-order-photo-grid{
   grid-template-columns:repeat(2,minmax(0,1fr));
 }
}


/* v0.64 – download efter betaling */

.customer-order-photo-wrap{
 min-width:0;
}

.customer-order-photo-wrap .customer-order-photo{
 width:100%;
}

.customer-single-download{
 display:block;
 margin-top:6px;
 text-align:center;
 color:var(--bronze);
 text-decoration:none;
 font-size:.84rem;
}

.customer-single-download:hover{
 text-decoration:underline;
}

.customer-download-actions{
 margin-top:14px;
}


/* v0.77 – galleri-blok på forsiden */

.home-gallery-section{
 padding:8px 0 58px;
}

.home-gallery-card{
 display:grid;
 grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
 min-height:360px;
 border:1px solid var(--line);
 background:#fff;
 color:var(--deep);
 text-decoration:none;
 overflow:hidden;
}

.home-gallery-card__image{
 min-height:360px;
 background:var(--cream);
 overflow:hidden;
}

.home-gallery-card__image img{
 width:100%;
 height:100%;
 display:block;
 object-fit:cover;
}

.home-gallery-card__copy{
 display:flex;
 flex-direction:column;
 justify-content:center;
 padding:38px 42px;
}

.home-gallery-kicker{
 margin:0 0 10px;
 color:var(--bronze);
 font-size:.76rem;
 letter-spacing:.14em;
 font-weight:700;
}

.home-gallery-card__copy h2{
 margin:0 0 12px;
 font-size:clamp(1.6rem,3vw,2.45rem);
}

.home-gallery-card__copy > p:not(.home-gallery-kicker){
 margin:0 0 18px;
 color:var(--soft);
 line-height:1.6;
}

.home-gallery-status{
 align-self:flex-start;
 margin-bottom:18px;
 padding:5px 8px;
 border:1px solid var(--line);
 background:var(--cream);
 color:var(--soft);
 font-size:.8rem;
}

.home-gallery-link{
 margin-top:auto;
 color:var(--bronze);
 font-weight:600;
}

.home-gallery-card:hover{
 border-color:var(--bronze);
}

.home-gallery-all{
 margin-top:14px;
 text-align:right;
}

.home-gallery-all a{
 color:var(--bronze);
 text-decoration:none;
}

@media(max-width:760px){
 .home-gallery-card{
   grid-template-columns:1fr;
 }

 .home-gallery-card__image{
   min-height:260px;
   aspect-ratio:4 / 3;
 }

 .home-gallery-card__copy{
   padding:28px 24px;
 }

 .home-gallery-link{
   margin-top:8px;
 }
}


/* v0.80 – nyt Glisborg-logo i offentlig header */

.brand--logo{
 display:flex;
 align-items:center;
 justify-content:flex-start;
 line-height:1;
}

.brand-logo{
 display:block;
 width:auto;
 height:115px;
 max-width:380px;
 object-fit:contain;
}

@media(max-width:760px){
 .brand-logo{
   height:58px;
   max-width:250px;
 }
}

@media(max-width:560px){
 .header-inner{
   gap:16px;
 }

 .brand-logo{
   height:50px;
   max-width:210px;
 }
}


/* v0.81 – mere luft omkring stort logo i header */

.header-inner{
 min-height:150px;
 padding-top:16px;
 padding-bottom:16px;
}

.brand--logo{
 align-self:center;
}

.brand-logo{
 height:115px;
 max-width:380px;
}

.nav{
 align-self:center;
}

@media(max-width:760px){
 .header-inner{
   min-height:112px;
   padding-top:12px;
   padding-bottom:12px;
 }

 .brand-logo{
   height:78px;
   max-width:300px;
 }
}

@media(max-width:560px){
 .header-inner{
   min-height:98px;
   padding-top:10px;
   padding-bottom:10px;
 }

 .brand-logo{
   height:68px;
   max-width:255px;
 }
}
