/* Geometry and surfaces from fotika-design-preview.vercel.app. */
.catalog.section .section-heading{margin-bottom:38px}
.catalog.section .album{border:1px solid #efd2bb;border-radius:14px;background:#211914;box-shadow:none;transform:none;transition:border-color .2s,box-shadow .2s}
.catalog.section .album-open,.catalog.section .album-stage{border-radius:13px;overflow:hidden}
.catalog.section .album-stage:after{inset:45% 0 0;background:linear-gradient(transparent,#000000c7)}
.catalog.section .album .look-name{left:18px;right:12px;bottom:20px;font-weight:500}
.catalog.section .album-arrow{width:40px;height:40px;border:1px solid #c9c9c980;background:#0009;border-radius:50%;padding:8px}
.catalog.section .album:first-child .album-arrow{opacity:0}
.catalog.section .album:hover .album-arrow,.catalog.section .album:has(:focus-visible) .album-arrow{opacity:1}
.cab-recent-section[hidden]{display:none}
#modal .close{display:grid;place-items:center;padding:0;line-height:1;flex:none;font-size:0;transform:none}
#modal .close>img{display:block;width:24px;height:24px;max-width:none;margin:0;pointer-events:none}
#modal .close::before,#modal .close::after{content:none}
#modal:has(.tariff-view) .close{width:38px;height:38px;min-width:38px;border:0;border-radius:50%;background:#232323}
#modal:has(.tariff-view) .close>img{width:22px;height:22px}
@media(hover:hover){.catalog.section .album:hover,.catalog.section .album:has(:focus-visible){transform:none;border-color:#fead6e;box-shadow:0 4px 20px #fead6e35}}
@media(max-width:599px){
 .catalog.section .section-heading{margin-bottom:18px}
 .catalog.section .album .look-name{font-size:12px;left:10px;right:8px;bottom:12px}
 .catalog.section .album-variant{font-size:10px}
 .catalog.section .album-arrow{width:44px;height:44px}
 #modal .close,#modal:has(.tariff-view,.cab-result,.generation-view) .close{width:44px;height:44px;min-width:44px}
}
@media(prefers-reduced-motion:reduce){.catalog.section .album{transition:none}}

/* Shared states and result layout for both entrypoints. */
#cabinet .cab-profile,.home-account .cab-profile{width:340px;max-width:calc(100vw - 32px)}
.cab-profile-identity strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
#cabinet .cab-profile-cabinet{display:none}
#cabinet .cab-account-toggle:hover,#cabinet .cab-account-toggle[aria-expanded=true],.home-account .cab-account-toggle:hover,.home-account .cab-account-toggle[aria-expanded=true]{background:#ffb77e}
#cabinet .cab-account-toggle:hover img,#cabinet .cab-account-toggle[aria-expanded=true] img,.home-account .cab-account-toggle:hover img,.home-account .cab-account-toggle[aria-expanded=true] img{content:url('/assets/cabinet-icons/user-active-figma.svg')}
#cabinet .cab-settings-actions,#cabinet .cab-settings-links{gap:16px;row-gap:12px}
#cabinet .cab-settings-action:hover{border-color:#ffb77e;background:#ffb77e12;color:#ffb77e}
#cabinet .cab-settings-links>a[href$='.html']:hover{background:transparent;color:#fff;border-color:#ccc}
#cabinet .cab-help-contacts,#cabinet .cab-support{margin-left:0;width:100%;max-width:100%}
#cabinet .cab-support{width:396px;font-size:16px;line-height:22px}
#cabinet .cab-questions summary{padding-left:32px}
#cabinet .cab-questions p{border-top:0;margin:0 32px 32px;padding-top:20px;width:auto;max-width:none;line-height:24px}
#cabinet .cab-questions p:before{content:'';position:absolute;top:0;left:0;width:min(221.99px,100%);height:1px;background:url('/assets/cabinet-help/divider.svg') left center/100% 100% no-repeat}
#cabinet .cab-questions details[open]:after{content:none}
.subscription-view a[href^="mailto:"]{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px}
.subscription-view a[href^="mailto:"]:hover{color:#ffb77e}
.cab-collections{position:relative}
.cab-gallery-loading{position:absolute;top:0;left:0;z-index:2;margin:0;padding:6px 12px;border-radius:4px;background:#161515e8;color:#fff;font-size:14px;pointer-events:none}
.generation-view.is-dragging .generation-session-photos{outline:2px solid #ffb77e;outline-offset:4px}
#modal .generation-reference>img{object-fit:contain}
#modal:has(.cab-result){height:fit-content;min-height:0;max-height:calc(100dvh - 24px);overflow-y:auto;margin:auto}
#modal:has(.cab-result) #modal-content{height:auto;min-height:0}
#modal .cab-result{height:auto;display:flex;flex-direction:column;gap:12px}
#modal:has(.cab-result) #modal-title{font:500 26px/32px Inter,Arial,sans-serif;text-align:left;margin:0 44px 10px 0}
#modal .cab-result-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:12px 0;width:100%}
#modal .cab-result-media.is-single{grid-template-columns:minmax(0,1fr);margin-inline:auto}
#modal .cab-result-media figure{display:flex;flex-direction:column;gap:12px;margin:0;min-width:0}
#modal .cab-result-photo{display:block;padding:0;width:100%;height:min(440px,50dvh);border:0;border-radius:8px;overflow:hidden;background:#171716;cursor:zoom-in}
#modal .cab-result-photo img,#modal .cab-result-media video{display:block;width:100%;height:100%;max-height:50dvh;aspect-ratio:auto;object-fit:contain}
#modal .cab-result-download{position:static;display:flex;align-items:center;justify-content:center;flex:none;height:52px;min-height:44px;margin:0;padding:12px 16px;border-radius:28px;font:400 16px/22px Inter,Arial,sans-serif;background:#ffffff06;color:#fff}
#modal .cab-result-download:hover{background:#ffffff12;border-color:#ffb77e}
#modal .cab-result .primary{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;margin:0;padding:14px 18px;font:500 16px/22px Inter,Arial,sans-serif;white-space:normal}
#modal .primary:hover:not(:disabled) img,#cabinet .cab-support:hover img{filter:brightness(.35)}
#modal .cab-result-photo:focus-visible,.cab-photo-viewer button:focus-visible,.cab-photo-viewer a:focus-visible{outline:2px solid #ffb77e;outline-offset:3px}
.cab-photo-viewer{position:fixed;inset:0;box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:60px 24px 24px;border:0;border-radius:0;background:#111110;color:#fff}
.cab-photo-viewer[open]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}
.cab-photo-viewer::backdrop{background:#000c}
.cab-photo-viewer-image{display:block;min-height:0;max-width:100%;max-height:calc(100dvh - 140px);object-fit:contain}
.cab-photo-viewer-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#292625}
.cab-photo-viewer-close img{display:block;width:24px;height:24px}
.cab-photo-viewer-download{display:flex;align-items:center;justify-content:center;min-height:44px;flex:none;padding:10px 24px;border:1px solid #aaa09a;border-radius:28px;color:#fff;text-decoration:none;font:400 16px/22px Inter,Arial,sans-serif}
#modal .tariff-card-heading{min-height:28px}
#cabinet .account-photos button{display:grid;place-items:center;width:36px;height:36px;padding:6px;border:0;border-radius:50%;background:#151515de}
#cabinet .account-photos button img{width:24px;height:24px;filter:none}
#modal .generation-remove-photo img{filter:none}
@media(pointer:coarse){#cabinet .account-photos button{width:44px;height:44px;padding:10px}}
@media(min-width:851px){
 #modal .tariff-card,#modal .tariff-card.selected{display:grid;grid-template-rows:auto auto minmax(20px,auto) auto auto auto;height:auto;min-height:240px;row-gap:10px;align-content:start}
 #modal .tariff-card-heading{min-height:24px}
 #modal .tariff-card h3,#modal .tariff-card:nth-child(2) h3{font-size:16px;line-height:24px}
 #modal .tariff-card .tariff-prices{margin:0}
}
@media(max-width:760px){
 #modal .cab-result-media{grid-template-columns:minmax(0,1fr);gap:20px}
 #modal .cab-result-photo{height:auto;min-height:160px}
 #modal .cab-result-photo img{height:auto;max-height:65dvh}
 #modal .cab-result .primary,#modal .cab-result-download{font-size:14px;line-height:20px;min-height:48px}
 #modal:has(.cab-result) #modal-title{font-size:22px;line-height:28px}
 #cabinet .cab-questions summary{padding-left:20px}
 #cabinet .cab-questions p{margin:0 20px 24px;font-size:14px;line-height:22px}
 .cab-photo-viewer{padding-inline:12px}
}

/* Photo and video instructions share the same disclosure and example layout. */
#modal .generation-guide summary:focus-visible{outline:2px solid #ffb77e;outline-offset:3px}

/* Reference control emphasis; existing responsive geometry stays intact. */
.hero-copy>.primary{font-weight:450;letter-spacing:0;transform-origin:center;transition:transform .2s ease}
.header>.tariffs{font-weight:500}
.header>.login{font-weight:600;border:0}
.catalog.section .section-heading>.text-link{font-family:Inter,Arial,sans-serif;font-size:16px;line-height:20px;font-weight:400;color:#faad77;letter-spacing:0}
.catalog.section .section-heading>.text-link:focus-visible{outline:2px solid #fead6e;outline-offset:4px}
#modal:has(.tariff-view) #modal-title{font-weight:750;letter-spacing:0}
#modal .tariff-view .tariff-tabs button{font-weight:500;letter-spacing:0}
#modal .tariff-card,#modal .tariff-card.selected{background:linear-gradient(170deg,#211e1c,#101010 48%,#030303)}
#modal .tariff-card h3{font-weight:600}
#modal .tariff-price{font-weight:800;letter-spacing:0}
#modal .tariff-price span{font-weight:400}
#modal .tariff-old-price{font-weight:400}
#modal .tariff-card .tariff-output{font-weight:400}
#modal .tariff-card .tariff-output strong{font-weight:600}
#modal .tariff-card .tariff-feature{font-weight:400;color:#818181}
#modal .tariff-card.selected{border-color:#fead6e;box-shadow:0 4.211px 92.8px #ffa76287,inset 0 4px 22.2px #fead6e3b}
#modal .tariff-card.selected .tariff-feature{font-weight:500;color:#fecda8}
#modal .tariff-view #buy{font-weight:500;letter-spacing:0}
#modal .tariff-view #buy:not(:disabled){background:linear-gradient(115deg,#fdb889,#faad77,#fbb887);color:#954100;border-color:#efd2bb}
#modal .tariff-view #buy:disabled,#modal .tariff-view:has(#purchase-consent:checked) #buy:disabled,#modal .tariff-view:not(:has(#purchase-consent:checked)) #buy:disabled{background:#484644;color:#a6a29f;border-color:#65615f;box-shadow:none;opacity:1;cursor:not-allowed;filter:none}
#modal .tariff-view #buy:disabled:after,#modal .tariff-view:has(#purchase-consent:checked) #buy:disabled:after{opacity:0}
@media(hover:hover){
 .hero-copy>.primary:hover:not(:disabled){transform:scale(1.03773)}
 .catalog.section .section-heading>.text-link:hover{color:#efd2bb}
}
@media(max-width:599px){.catalog.section .section-heading>.text-link{font-size:12px;line-height:18px}}
@media(prefers-reduced-motion:reduce){.hero-copy>.primary{transition:none}}

/* Rendered home reference parity. */
.catalog.section .section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:0;margin-bottom:42px}
.catalog.section .section-heading h2{font:800 60px/1.059 'Golos Text',Arial,sans-serif;margin:0;min-width:0;letter-spacing:0}
.catalog.section .section-heading>.text-link{gap:12px;line-height:normal;padding:10px 0}
.catalog.section .section-heading>.text-link img{width:39px;height:16px}
.hero-copy>.primary,.how-intro .primary,.footer-cta .primary{position:relative}
.hero-copy>.primary{width:340px;height:74.782px;min-width:0;min-height:0;padding:0;background:transparent url('/assets/reference-hero-button-surface.svg') center/100% 100% no-repeat;border:0;box-shadow:none;isolation:isolate}
.hero-copy>.primary:before{content:'';position:absolute;z-index:-1;left:5px;top:3px;width:calc(100% - 21px);height:calc(100% - 8px);border-radius:33.043px;background:#faad77;opacity:.3726;filter:blur(27.9px);pointer-events:none}
.hero-copy>.primary:hover:not(:disabled){background:transparent url('/assets/reference-hero-button-surface.svg') center/100% 100% no-repeat;box-shadow:none;filter:none}
.how-intro .primary,.how-intro .primary:hover{width:322.694px;max-width:100%;height:74.782px;min-height:0;padding:0;font-size:22px;font-weight:450;gap:15px;background-color:#faad77;background-image:url('/assets/reference-how-button-gradient.svg');background-position:center;background-size:calc(100% - 1.6px) calc(100% - 1.6px);background-repeat:no-repeat;border:2px solid #efd2bb;box-shadow:none;filter:none;isolation:isolate}
footer.section .footer-cta .primary,footer.section .footer-cta .primary:hover{width:313.694px;max-width:100%;height:76px;min-height:0;padding:0;font-size:22px;font-weight:450;gap:15px;background-color:#faad77;background-image:url('/assets/reference-footer-button-gradient.svg');background-position:center;background-size:calc(100% - 1.6px) calc(100% - 1.6px);background-repeat:no-repeat;border:2px solid #efd2bb;box-shadow:none;filter:none;isolation:isolate}
.how-intro .primary:before,.footer-cta .primary:before{content:'';position:absolute;inset:4px 9px;z-index:-1;border-radius:inherit;background:#faad77b0;opacity:.8;filter:blur(27.9px);pointer-events:none}
@media(max-width:1299px){.hero-copy>.primary,.how-intro .primary{inset:auto}}
@media(min-width:1300px){.hero-copy>.primary,.how-intro .primary{position:absolute}}
@media(min-width:901px) and (max-width:1350px){
 .catalog.section .section-heading h2{font-size:53.333px}
 .catalog.section .section-heading{margin-bottom:37.333px}
 .catalog.section .section-heading>.text-link{font-size:14.222px;gap:10.667px;padding-block:8.889px}
 .catalog.section .section-heading>.text-link img{width:34.667px;height:14.222px}
 .catalog.section .album .look-name{font-size:14.222px;line-height:18.489px}
 .hero-copy h1{font-size:53.333px;line-height:1.059}
 .hero-copy>.primary{width:302.222px;height:66.473px;font-size:19.556px}
 .how-intro .primary,.how-intro .primary:hover{width:274.403px;height:63.581px;font-size:18.705px}
 footer.section .footer-cta .primary,footer.section .footer-cta .primary:hover{width:278.838px;height:67.55px;font-size:19.556px}
}
@media(min-width:600px) and (max-width:900px){
 .catalog.section .section-heading{margin-bottom:24px}
 .catalog.section .section-heading h2{font-size:40px}
 .catalog.section .section-heading>.text-link{font-size:14px;gap:8px}
}
@media(max-width:760px){
 .hero-copy>.primary,.hero-copy>.primary:hover:not(:disabled){width:100%;height:56px;min-height:56px;font-size:16px;background:#faad77 url('/assets/mobile-main/button-surface.svg') center/100% 100% no-repeat;border:1px solid #efd2bb}
 .how-intro .primary,.how-intro .primary:hover,footer.section .footer-cta .primary,footer.section .footer-cta .primary:hover{width:100%;height:56px;min-height:56px;font-size:18px}
}
@media(max-width:599px){
 .catalog.section .section-heading{flex-wrap:wrap;gap:8px;margin-bottom:18px}
 .catalog.section .section-heading h2{font-size:30px;flex:1;min-width:150px}
 .catalog.section .section-heading>.text-link{font-size:12px;gap:8px}
 .catalog.section .section-heading>.text-link img{width:34px;height:14px}
}

/* Catalog heading and All Variants correction. */
@font-face{font-family:'Fotika Catalog';src:url('/fonts/FotikaCatalog-800.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
.catalog.section .section-heading>.text-link{margin-right:0}
.catalog.section .section-heading>.text-link:after{content:'';display:block;flex:none;width:28px;height:14.7279px;background:linear-gradient(90deg,#faad77,#fecda8);mask:url('/assets/reference-gallery-arrow.svg') center/100% 100% no-repeat;-webkit-mask:url('/assets/reference-gallery-arrow.svg') center/100% 100% no-repeat}
@media(min-width:901px){
 /* Native glyph outlines are retained; the prepared face owns compact advances. */
 .catalog.section .section-heading h2{font-family:'Fotika Catalog','Golos Text',Arial,sans-serif;transform:none;letter-spacing:0}
}
@media(min-width:901px) and (max-width:1350px){
 .catalog.section .section-heading>.text-link:after{width:24.889px;height:13.092px}
}
@media(max-width:599px){
 .catalog.section .section-heading>.text-link:after{width:20px;height:10.52px}
}

@media(min-width:901px){
 /* Desktop hero heading density. */
 .hero-copy h1{font-family:'Fotika Catalog','Golos Text',Arial,sans-serif;line-height:1.059;letter-spacing:0;transform:none}
}

/* Single-circle album controls. */
.catalog.section .album-arrow{top:50%;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid #c9c9c980;border-radius:50%;background:#252b2ba6;box-shadow:none;backdrop-filter:blur(2px)}
.catalog.section .album-arrow:before,.catalog.section .album-arrow:after{content:none;display:none}
.catalog.section .album-arrow img{width:18px;height:18px;max-width:none;position:relative}
.catalog.section .album-left{left:10px}
.catalog.section .album-right{right:10px}
.catalog.section .album-arrow:focus-visible{outline:2px solid #fead6e;outline-offset:3px;box-shadow:none;border-color:#fecda8;background:#252b2bde}
@media(hover:hover){.catalog.section .album-arrow:hover{border-color:#fecda8;background:#252b2bde}}
@media(max-width:599px){
 .catalog.section .album-arrow{width:44px;height:44px;opacity:1}
 .catalog.section .album:first-child .album-arrow{opacity:1}
}
.generation-role-slots{display:grid;gap:16px}.generation-role-slot{margin:0;padding:0;border:0;min-width:0}.generation-role-slot>legend{display:block;margin:0 0 10px;padding:0;font-size:14px;line-height:20px;color:#bfbfbf}.generation-role-input{position:relative;min-width:0}
#modal .generation-role-drop{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:138px;min-height:138px;overflow:hidden;border:1px dashed #595959;border-radius:8px;background:transparent;text-align:center;cursor:pointer}.generation-role-drop:focus-within,.generation-role-drop.is-dragging{outline:2px solid #ffb77e;outline-offset:3px}.generation-role-drop>input{position:absolute;width:1px;height:1px;opacity:0}.generation-role-empty{display:flex;align-items:center;flex-direction:column;gap:10px;padding:16px;max-width:270px;font-size:14px;line-height:20px;color:#bfbfbf}.generation-role-empty>img{width:24px;height:24px;max-width:none}.generation-role-empty>small{font-size:10px;line-height:14px;color:#aaa}
#modal .generation-role-photo{display:block;width:100%;height:138px;object-fit:contain}#modal .generation-role-photo[hidden]{display:none}.generation-role-format{font-size:22px;font-weight:600;color:#fecda8}.generation-role-format[hidden]{display:none}#modal .generation-role-remove{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:44px;height:44px;padding:10px;background:#161515df;border-radius:50%}.generation-role-remove>img{display:block;width:24px;height:24px;max-width:none}.generation-role-name{display:block;margin-top:6px;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#bfbfbf}#modal .generation-role-error{margin:6px 0 0;color:#ffb8b8;font-size:12px;line-height:18px}#modal .generation-role-error:empty{display:none}#modal .generation-role-continue{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:60px;min-height:60px;margin:22px 0 0;padding:0;font-size:16px;font-weight:500}.generation-role-continue>img{width:28px;height:16px;max-width:none}#modal .generation-role-view{align-items:start}#modal .generation-role-view .generation-reference>img{height:auto;max-height:530px;width:100%;object-fit:contain}.photo-ready-inputs>figure{margin:0;min-width:0}.photo-ready-inputs>figure>img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain}.photo-ready-inputs>figure>figcaption{font-size:12px;line-height:18px;margin-top:6px;overflow-wrap:anywhere}
@media(max-width:760px){#modal .generation-role-view{grid-template-columns:minmax(0,1fr);gap:20px}#modal .generation-role-view .generation-reference{max-width:294px}#modal .generation-role-view .generation-reference>img{max-height:385px;aspect-ratio:auto}.generation-role-empty{font-size:13px;line-height:18px}}
