/* TFF Fotoalbums v1.1.0: isolated presentation for /trouwfoto/ and /fotoalbum/* only.
   No selectors are applied to the rest of the WordPress site. */
html:has(body.tffsite-body){scroll-behavior:smooth}
body.tffsite-body{background:#faf7f5!important;margin:0!important;padding:0!important;color:#233c3a!important;min-width:320px;overflow-x:hidden}
body.tffsite-body .tffsite,body.tffsite-body .tffsite *{box-sizing:border-box}
body.tffsite-body .tffsite{font-family:Arial,Helvetica,sans-serif;min-height:100vh;width:100%;margin:0!important;padding:0!important;color:#203b39;line-height:1.5}
body.tffsite-body .tffsite a{text-decoration:none}
body.tffsite-body .tffsite-header{position:sticky;top:0;background:rgba(255,255,255,.98);z-index:9999;box-shadow:0 1px 0 #e9e3df;min-height:80px;width:100%;overflow:visible}
body.admin-bar.tffsite-body .tffsite-header{top:32px}
body.tffsite-body .tffsite-header-inner{width:min(1315px,calc(100% - 56px));margin:auto;min-height:80px;display:flex;gap:28px;align-items:center;justify-content:space-between}
body.tffsite-body .tffsite-brand{color:#ee5f91;display:flex;align-items:center;flex:0 0 auto;min-width:174px;max-width:208px}
body.tffsite-body .tffsite-brand img{display:block;max-width:184px;max-height:62px;width:auto;height:auto;object-fit:contain}
body.tffsite-body .tffsite-brand-wordmark{font-family:'Brush Script MT','Segoe Script',cursive;font-size:23px;font-weight:700;line-height:1;color:#ef6795;white-space:nowrap;letter-spacing:-.7px}
body.tffsite-body .tffsite-brand-wordmark span{color:#eb588f}
body.tffsite-body .tffsite-nav{display:flex;align-items:center;justify-content:center;gap:clamp(17px,2.3vw,36px);flex:1;white-space:nowrap}
body.tffsite-body .tffsite-nav a{color:#263c3e;font:600 12px/1.4 'Jost','Helvetica Neue',Arial,sans-serif;letter-spacing:.055em;padding:12px 0;border-bottom:2px solid transparent;transition:color .2s}
body.tffsite-body .tffsite-nav a:is(:hover,:focus-visible),body.tffsite-body .tffsite-nav a.is-current{color:#bd886b;border-color:#bd886b}
body.tffsite-body .tffsite-book{display:inline-flex;justify-content:center;align-items:center;background:#bb886d;border-radius:40px;color:#fff!important;font:700 10px/1.3 Arial,sans-serif;letter-spacing:.11em;padding:15px 27px;white-space:nowrap;gap:12px;transition:background .15s}
body.tffsite-body .tffsite-book:hover{background:#a7745b}
body.tffsite-body .tffsite-mobile{display:none}
body.tffsite-body .tffsite-skip{position:absolute;top:-100px;left:12px;z-index:100000;background:#fff;padding:12px 20px}
body.tffsite-body .tffsite-skip:focus{top:85px}
body.tffsite-body .tffsite-main{min-height:55vh;margin:0 auto!important;padding:1px 0 1px!important;background:#faf7f5;width:100%;max-width:none}
body.tffsite-body .tffsite-main .tfffa{margin-top:0;margin-bottom:85px;max-width:none}
body.tffsite-body .tffsite-main .tfffa-overview .tfffa-intro{padding-top:85px}
body.tffsite-body .tffsite-main .tfffa-album{margin-top:0}
body.tffsite-body .tffsite-main .tfffa-album-top{padding-top:70px}
body.tffsite-body .tffsite-main .tfffa-intro h1,body.tffsite-body .tffsite-main .tfffa-album-top h1{color:#1e3837;font-weight:500;line-height:1.08;letter-spacing:-.04em;text-shadow:none}
body.tffsite-body .tffsite-main .tfffa-album .tfffa-photos{margin-top:4px}
body.tffsite-body .tffsite-main .tfffa-photo{min-height:0}
body.tffsite-body .tffsite-footer{background:#173936;color:#f8f5f2!important;padding:62px max(24px,calc((100vw - 1190px)/2)) 18px;margin:0;width:100%}
body.tffsite-body .tffsite-footer-top{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(145px,1fr) minmax(145px,1fr);gap:55px;padding-bottom:65px}
body.tffsite-body .tffsite-footer-story{max-width:500px}
body.tffsite-body .tffsite-footer-kicker{font-size:10px;font-weight:700;letter-spacing:.21em;color:#d7a68e}
body.tffsite-body .tffsite-footer-story h2{font:400 clamp(35px,4vw,55px)/1.15 Georgia,serif;color:#fff;letter-spacing:-.025em;margin:18px 0}
body.tffsite-body .tffsite-footer-story h2 em{color:#dfb49f;font-style:italic;font-weight:400}
body.tffsite-body .tffsite-footer-story p{color:#c7d4d0;max-width:370px;font-size:13px;margin:0}
body.tffsite-body .tffsite-footer-col{display:flex;flex-direction:column;gap:13px;align-items:flex-start}
body.tffsite-body .tffsite-footer-col h3{font-size:11px;font-weight:800;letter-spacing:.15em;color:#e8b7a0;margin:7px 0 15px}
body.tffsite-body .tffsite-footer-col a{color:#e2e9e5;font-size:13px;line-height:1.5}
body.tffsite-body .tffsite-footer-col a:hover{color:#f0b995}
body.tffsite-body .tffsite-footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.18);padding-top:23px;color:#a9beb8;font-size:11px}
body.tffsite-body .tffsite-footer-bottom a{font-weight:750;letter-spacing:.13em;color:#f0cbb7}
@media(max-width:1080px){body.tffsite-body .tffsite-header-inner{width:calc(100% - 42px);gap:14px}body.tffsite-body .tffsite-brand{min-width:158px}body.tffsite-body .tffsite-nav{gap:16px}body.tffsite-body .tffsite-book{padding:13px 19px}}
@media(max-width:850px){body.tffsite-body .tffsite-nav,body.tffsite-body .tffsite-book{display:none}body.tffsite-body .tffsite-header,body.tffsite-body .tffsite-header-inner{min-height:72px}body.tffsite-body .tffsite-mobile{display:block;position:relative;align-self:center}body.tffsite-body .tffsite-mobile summary{cursor:pointer;list-style:none;border:1px solid #e6ddd7;border-radius:8px;color:#28423f;font:bold 11px Arial,sans-serif;letter-spacing:.1em;padding:12px 15px}body.tffsite-body .tffsite-mobile summary::-webkit-details-marker{display:none}body.tffsite-body .tffsite-mobile summary span{margin-left:10px;font-size:17px;vertical-align:middle}body.tffsite-body .tffsite-mobile nav{background:#fff;display:flex;flex-direction:column;position:absolute;top:calc(100% + 12px);right:0;width:min(290px,calc(100vw - 35px));padding:14px 18px;box-shadow:0 15px 45px #1b36341f;border:1px solid #eee6df;z-index:100}body.tffsite-body .tffsite-mobile nav a{color:#28423f;font-size:12px;font-weight:700;letter-spacing:.09em;padding:12px 8px;border-bottom:1px solid #f2efed}body.tffsite-body .tffsite-mobile nav a:last-child{background:#bb886d;color:#fff;margin-top:9px;border-radius:3px;text-align:center}body.tffsite-body .tffsite-footer-top{grid-template-columns:1.5fr 1fr 1fr;gap:24px}body.tffsite-body .tffsite-footer{padding-left:30px;padding-right:30px}}
@media(max-width:600px){body.admin-bar.tffsite-body .tffsite-header{top:46px}body.tffsite-body .tffsite-header-inner{width:calc(100% - 30px)}body.tffsite-body .tffsite-brand{min-width:0}body.tffsite-body .tffsite-brand img{max-width:150px;max-height:55px}body.tffsite-body .tffsite-brand-wordmark{font-size:20px}body.tffsite-body .tffsite-main .tfffa-album-top{padding-top:30px}body.tffsite-body .tffsite-main .tfffa-overview .tfffa-intro{padding-top:44px}body.tffsite-body .tffsite-footer{padding:43px 22px 20px}body.tffsite-body .tffsite-footer-top{grid-template-columns:1fr 1fr;gap:38px 18px;padding-bottom:38px}body.tffsite-body .tffsite-footer-story{grid-column:1/-1}body.tffsite-body .tffsite-footer-bottom{flex-direction:column;gap:14px}body.tffsite-body .tffsite-footer-col h3{margin-bottom:6px}body.tffsite-body .tffsite-footer-story h2{font-size:38px}}

/* v1.4.1 – keep the genuine logo proportional, never use a simulated wordmark. */
body.tffsite-body .tffsite .tffsite-brand{max-width:210px;min-width:175px}
body.tffsite-body .tffsite .tffsite-brand img{width:auto!important;height:auto!important;max-width:200px!important;max-height:72px!important;object-fit:contain!important;object-position:center!important}
@media(max-width:600px){body.tffsite-body .tffsite .tffsite-brand{min-width:0}body.tffsite-body .tffsite .tffsite-brand img{max-width:155px!important;max-height:59px!important}}

/* v1.5.0: consistent site navigation scale, spacing and price dropdown.
   All selectors remain inside the TFF Fotoalbums standalone shell. */
body.tffsite-body .tffsite-header{min-height:88px;background:rgba(255,255,255,.97)!important;box-shadow:0 1px 0 rgba(18,42,39,.09);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
body.tffsite-body .tffsite-header-inner{width:min(1320px,calc(100% - 64px));min-height:88px;gap:clamp(14px,2vw,28px);align-items:center}
body.tffsite-body .tffsite .tffsite-brand{min-width:174px;max-width:235px;width:220px;flex:0 1 220px;justify-content:flex-start}
body.tffsite-body .tffsite .tffsite-brand img{display:block!important;width:100%!important;height:auto!important;max-width:235px!important;max-height:80px!important;object-fit:contain!important;object-position:left center!important}
body.tffsite-body .tffsite-nav{display:flex;flex:1;gap:clamp(16px,2.25vw,36px);justify-content:center;align-items:center;white-space:nowrap}
body.tffsite-body .tffsite-nav a{display:inline-flex;align-items:center;gap:6px;font:600 12px/1.4 'Jost','Helvetica Neue',Arial,sans-serif;letter-spacing:.055em;padding:14px 0;color:#263b39;border-bottom:2px solid transparent;text-transform:uppercase;white-space:nowrap}
body.tffsite-body .tffsite-nav a:is(:hover,:focus-visible),body.tffsite-body .tffsite-nav a.is-current{color:#a87e69;border-bottom-color:#a87e69}
body.tffsite-body .tffsite-book{flex:0 0 auto;min-height:44px;border-radius:999px;padding:14px 24px;font:700 11px/1.25 Arial,Helvetica,sans-serif;letter-spacing:.08em;background:#bb886d;gap:9px}
body.tffsite-body .tffsite-nav-dropdown{display:block;position:relative;align-self:stretch;align-content:center}
body.tffsite-body .tffsite-nav-dropdown .tffsite-chevron{display:inline-block;font-size:16px;line-height:0;transform:translateY(-2px);color:#986d58;transition:transform .15s ease}
body.tffsite-body .tffsite-nav-dropdown:is(:hover,:focus-within) .tffsite-chevron{transform:translateY(-1px) rotate(180deg)}
body.tffsite-body .tffsite-nav-submenu{position:absolute;top:calc(50% + 21px);left:-22px;width:226px;padding:11px;background:#fff;box-shadow:0 14px 44px rgba(19,42,40,.14);border:1px solid #efe8e3;border-radius:6px;z-index:10010;opacity:0;visibility:hidden;transform:translateY(7px);pointer-events:none;transition:opacity .16s,transform .16s,visibility .16s}
body.tffsite-body .tffsite-nav-dropdown:is(:hover,:focus-within) .tffsite-nav-submenu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
body.tffsite-body .tffsite-nav-submenu a{font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;padding:11px 12px;display:block;border:none;border-radius:3px;color:#29403d;white-space:normal;line-height:1.5}
body.tffsite-body .tffsite-nav-submenu a:is(:hover,:focus-visible){background:#f6f0eb;color:#9b6f58;border:0}
body.tffsite-body .tffsite-mobile-prices{border-bottom:1px solid #f0ece8;padding:0}
body.tffsite-body .tffsite-mobile nav .tffsite-mobile-prices summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:12px 8px;color:#28423f;font:700 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.09em;list-style:none;border:0;background:transparent;border-radius:0;box-shadow:none}
body.tffsite-body .tffsite-mobile-prices summary::-webkit-details-marker{display:none}
body.tffsite-body .tffsite-mobile-prices-list{display:flex;flex-direction:column;padding:0 0 8px 12px}
body.tffsite-body .tffsite-mobile nav .tffsite-mobile-prices-list a{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;padding:9px 8px}
body.tffsite-body .tffsite-mobile nav .tffsite-mobile-cta{background:#bb886d!important;color:#fff!important;margin-top:9px;border-radius:4px;text-align:center}
body.tffsite-body .tffsite-main .tfffa-album-masonry .tfffa-album-top{padding-top:32px;padding-bottom:35px}
@media(max-width:1180px){
 body.tffsite-body .tffsite-header-inner{width:calc(100% - 40px);gap:16px}
 body.tffsite-body .tffsite .tffsite-brand{width:190px;flex-basis:190px;min-width:170px}
 body.tffsite-body .tffsite .tffsite-brand img{max-width:200px!important;max-height:76px!important}
 body.tffsite-body .tffsite-nav{gap:16px}
 body.tffsite-body .tffsite-book{padding:13px 17px}
}
@media(max-width:1000px){
 body.tffsite-body .tffsite-nav,body.tffsite-body .tffsite-book{display:none}
 body.tffsite-body .tffsite-mobile{display:block;position:relative}
 body.tffsite-body .tffsite-header,body.tffsite-body .tffsite-header-inner{min-height:76px}
 body.tffsite-body .tffsite .tffsite-brand{max-width:210px;flex-basis:210px;width:210px}
 body.tffsite-body .tffsite .tffsite-brand img{max-width:210px!important;max-height:70px!important}
}
@media(max-width:600px){
 body.tffsite-body .tffsite-header-inner{width:calc(100% - 30px)}
 body.tffsite-body .tffsite .tffsite-brand{max-width:180px;width:180px;min-width:0;flex-basis:180px}
 body.tffsite-body .tffsite .tffsite-brand img{max-width:180px!important;max-height:68px!important}
 body.tffsite-body .tffsite-main .tfffa-album-masonry .tfffa-album-top{padding-top:18px}
}

/* Prevent the legacy mobile last-child selector from styling a nested price item like a CTA. */
body.tffsite-body .tffsite-mobile nav .tffsite-mobile-prices-list a:last-child{background:transparent!important;color:#28423f!important;text-align:left!important;margin-top:0!important;border-radius:0!important}


/* v1.5.1 — Desktop header-scale correction only.
   Based on the site's /trouwfilm/ header reference: ~96px height, wider nav,
   bigger ORIGINAL logo file and slightly larger nav labels. No other sections touched.
   Isolated .tffsite scope prevents changes to the main Artale theme header.
*/
@media (min-width:1001px) {
  body.tffsite-body .tffsite-header {
    min-height:96px!important;
    height:96px;
    background:#fff!important;
  }
  body.tffsite-body .tffsite-header-inner {
    min-height:96px!important;
    height:96px;
    width:min(1410px,calc(100% - 32px))!important;
    padding:0;
    column-gap:clamp(18px,2vw,30px);
  }
  body.tffsite-body .tffsite .tffsite-brand {
    width:236px!important;
    flex:0 0 236px!important;
    min-width:236px!important;
    max-width:236px!important;
    height:96px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  body.tffsite-body .tffsite .tffsite-brand img {
    display:block!important;
    width:200px!important;
    height:96px!important;
    max-width:200px!important;
    max-height:96px!important;
    object-fit:contain!important;
    object-position:left center!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.tffsite-body .tffsite .tffsite-nav {
    gap:clamp(19px,2vw,34px)!important;
  }
  body.tffsite-body .tffsite .tffsite-nav > a,
  body.tffsite-body .tffsite .tffsite-nav .tffsite-price-trigger {
    font-family:'Jost','Helvetica Neue',Arial,sans-serif!important;
    font-size:12px!important;
    line-height:1.4!important;
    font-weight:600!important;
    letter-spacing:.055em!important;
    padding:15px 0!important;
  }
  body.tffsite-body .tffsite .tffsite-book {
    min-height:46px!important;
    padding:14px 24px!important;
    font-family:'Jost','Helvetica Neue',Arial,sans-serif!important;
    font-size:11.5px!important;
    font-weight:750!important;
    letter-spacing:.095em!important;
  }
}
/* Avoid desktop fixed measurements causing overflow on narrow laptops. */
@media (min-width:1001px) and (max-width:1220px) {
  body.tffsite-body .tffsite .tffsite-brand{width:205px!important;min-width:205px!important;max-width:205px!important;flex-basis:205px!important}
  body.tffsite-body .tffsite .tffsite-brand img{width:185px!important;max-width:185px!important}
  body.tffsite-body .tffsite .tffsite-nav{gap:clamp(12px,1.3vw,21px)!important}
  body.tffsite-body .tffsite .tffsite-nav > a,
  body.tffsite-body .tffsite .tffsite-nav .tffsite-price-trigger{font-size:12px!important}
  body.tffsite-body .tffsite .tffsite-book{padding-inline:17px!important;font-size:10.5px!important}
}

/* v1.5.4 — TYPOGRAPHY FROM SHARED TFF SITE HEADER (Jost 600 / 12px / .055em).
   Crucially, all five menu labels share the SAME selector; :hover/:active/current change ONLY the colour and underline.
   This is scoped to the standalone Fotoalbums header, leaving the site and gallery CSS untouched. */
@media (min-width:1001px) {
 body.tffsite-body #tffsite-root .tffsite-header nav.tffsite-nav > a,
 body.tffsite-body #tffsite-root .tffsite-header nav.tffsite-nav .tffsite-price-trigger {
   font-family:'Jost','Helvetica Neue',Arial,sans-serif!important;
   font-size:12px!important;
   font-weight:600!important;
   font-style:normal!important;
   line-height:1.4!important;
   letter-spacing:.055em!important;
   text-transform:uppercase!important;
   text-shadow:none!important;
   font-synthesis:weight;
 }
 body.tffsite-body #tffsite-root .tffsite-header nav.tffsite-nav .tffsite-nav-label {
   font:inherit!important;
   letter-spacing:inherit!important;
   font-variant:normal!important;
   font-style:normal!important;
   text-decoration:none!important;
   text-transform:inherit!important;
 }
 body.tffsite-body #tffsite-root .tffsite-header nav.tffsite-nav > a.is-current,
 body.tffsite-body #tffsite-root .tffsite-header nav.tffsite-nav > a[aria-current="page"] {
   color:#ad765e!important;
   /* Active link is identical in font size and weight. */
   font-weight:600!important;
 }
}
