@charset 'utf-8';

/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://etchings.uindy.edu/
Description: A child theme for the Twenty Twenty-Five block theme.
Author: UIndy IT Web
Template: twentytwentyfive
Version: 1.0.0
*/

/* You can add custom CSS below this line, but for Block Themes, try using theme.json or the Site Editor first! */

/* Theme customization starts here
-------------------------------------------------------------- */

/* --- Desktop --- */

/* Keyboard Focus Indicator */

:focus-visible {outline: 2px solid #1a1a1a !important; outline-offset: 0.2em !important; z-index: 99}


/* Link */

a {color: #b20a38 !important; font-family: "PT Sans",sans-serif; text-decoration: underline !important;}

a:hover, a:focus-visible, a:active {text-decoration: none !important;}

a:not(.wp-block-site-logo a, .wp-block-breadcrumbs a):hover, 
a:not(.wp-block-site-logo a, .wp-block-breadcrumbs a):focus-visible, 
a:not(.wp-block-site-logo a:hover, .wp-block-breadcrumbs a):active {background-color: #eee;}


/* Header */

header a {
    color: #1a1a1a !important;	
    font-size: 1.1rem;
    padding: 0.15em 0;
    text-transform: uppercase;

    &:hover, &:focus-visible, &:active {color: #b20a38 !important;}
}

p.wp-block-site-tagline.has-text-align-left.wp-block-hidden-mobile {margin-left: 10px !important;}


/* Breadcrumbs */

.wp-block-group.is-layout-grid:has(.wp-block-breadcrumbs),
.search nav.wp-block-breadcrumbs {background-color: #1a1a1a; padding: 15px 30px !important;}

.wp-block-breadcrumbs a,
.wp-block-breadcrumbs span,
.wp-block-breadcrumbs li:not(:last-child):after {color: #fff !important;}

.wp-block-breadcrumbs a:focus-visible {outline: 2px solid #eee !important; outline-offset: 0.2em !important;}


/* Main Content */

div#main-content {padding-bottom: 30px !important; padding-right: 15px !important;}

.main-page-content {margin-right: 15px !important;}


/* Headings & Text */

.wp-block-heading:not(.sidebar-content h2, footer h2) {margin: 30px 0 0 !important; text-wrap: pretty;}

h1.wp-block-post-title {
    margin-bottom: 30px !important;
    font-family: "Playfair Display", serif;
    font-size: 3.2rem !important;
    font-weight: 400 !important;
    line-height: 1.5;
    text-transform: capitalize;
}

h2.wp-block-heading:not(.sidebar-content h2, footer h2) {font-size: 1.6rem !important; margin: 40px 0 20px !important;}

h2 {font-size: 1.35rem !important; font-family: inherit;}

h3.wp-block-heading {
    font-family: inherit;
    font-size: 1.2rem !important;
    text-transform: capitalize;
    font-weight: bold;
    color: #1a1a1a;
    letter-spacing: 0;
}

body p {font-family: inherit !important; font-size: 17px; line-height: 1.5;}

.wp-block-paragraph {font-size: 1.1rem !important; margin-bottom: 15px; text-wrap: pretty;}


div.is-vertical:not(.magazine-details, .winner-details .is-vertical) {
    &:focus-within, &:hover {
        figure {box-shadow: rgba(0, 0, 0, 0.3) 0px 20px 18px -6px; transform: translateY(-10px); transition: 100ms;}
    }
}

ul.wp-block-list {margin-bottom: 20px;}

p.wp-block-paragraph b {color: #1a1a1a;}

:root :where(.wp-block-quote) {border-color: #ccc !important;}

:root :where(.wp-block-quote cite) {font-size: 1rem !important;}

cite strong {font-weight: 700 !important; color: #1a1a1a;}

.wp-block-column a:not(header a, a[data-type="link"], footer a) {font-size: 1.4rem !important;}

/*h1 {
        font-family: "Playfair Display", serif;
        font-size: 3.2rem !important;
        line-height: 1.5;
        font-weight: 400 !important;
        text-transform: capitalize;
        margin-bottom: 20px !important;
}*/

/*h2 {font-size: 1.35rem !important; font-family: inherit;}

h3 {
        font-family: inherit;
        font-size: 1.2rem !important;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: #1a1a1a;
}*/


/* Latest on Etchings */

:root .home :where(.is-layout-grid) {gap: var(--wp--preset--spacing--50) clamp(30px, 5vw, 50px) !important;}


/* Slider */

.alignnormal {background-color: rgba(0, 0, 0, .95);}

.metaslider .flexslider {margin: 0 auto !important; background: #1a3c34;}

.metaslider .slides img {
  width: 100% !important;
  height: auto !important;
  max-height: 550px !important; /* Locks max height on large screens */
  object-fit: cover !important;
  display: block !important;
}

/* Fix slide container list items */
.metaslider .slides > li {position: relative !important; overflow: hidden;}

.flexslider a.flex-prev:focus-visible,
.flexslider a.flex-next:focus-visible,
.flexslider a.ms-custom-button:focus-visible {outline-offset: 0.4em !important; outline: 2px solid #eee !important;}

.flexslider .caption-wrap {
    height: 100% !important;
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.75) !important;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1 !important;
    opacity: 1;
    position: absolute;
}


.flex-viewport {height: 500px !important;}

.flexslider .slides img {height: 500px !important;}

.flex-viewport h2 {
    font-size: 2.5rem !important;
    font-family: "Playfair Display", serif;
    font-weight: 400 !important;
}

.flex-viewport a {
    transistion: none;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.flex-viewport p {color: #fff !important;}

.metaslider .flex-control-nav {bottom: 15px !important;}

.flexslider .flex-control-nav li a.flex-active {background: white !important;}

.flexslider .flex-control-nav li a:not(.flex-active) {background: rgba(255,255,255,.3) !important;}

.flex-prev, .flex-next {color: #fff !important;}


/* Media */

.book-details.wp-block-group figure {margin-right: 15px !important; margin-bottom: 15px !important;}

.wp-block-group .wp-block-image img:not(.sidebar-content img, .square-image img),
.page-with-sidebar .wp-block-group .wp-block-image img:not(.sidebar-content img),
.book-details.wp-block-group .wp-block-image img:not(.sidebar-content img),
.search .wp-block-post-featured-image {
    height: auto;
    width: 100% !important;
    min-width: 150px !important;
    max-width: 100%;
    vertical-align: top;
    box-shadow: 2px 6px 10px rgb(0 0 0 / 25%);
    border: 1px solid #ccc !important;
}


/* Creates Clickable Block Links */

.home .is-layout-grid,
.book-contests-list .wp-block-group.is-vertical.is-content-justification-left.is-layout-flex.wp-block-group-is-layout-flex,
.is-vertical,
.winner-details,
.search .wp-block-columns,
.podcast-details {position: relative;}

.home .is-layout-grid a:not(
a[href*="instagram"], a[href*="twitter"], a[href*="facebook"], footer a):first-child:after,
.book-contests-list .wp-block-group.is-vertical.is-content-justification-left.is-layout-flex.wp-block-group-is-layout-flex a:after,
.is-vertical a[href*="drive"]:first-child:after,
.winner-details a:after,
.search .wp-block-columns a:not(footer a):after,
.podcast-details a[href*="spotify"]:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  cursor: pointer !important;
}

.is-vertical a[href*="drive"]:first-child:after {height: 50%;}

.podcast-details figure.wp-block-image img {margin: 20px 0 25px 0; max-width: 400px !important;}


/* Specific Pages with Sidebar */

.page-with-sidebar .wp-block-group.is-layout-constrained:first-child:not(.sidebar-content .wp-block-group) {padding-right: 30px !important;}

.wp-block-group.sidebar-content {
    background-color: #f7f7f7;
    padding: 15px !important;
    border: 1px solid #eee;
    height: fit-content;
    border-radius: .5em;
    margin-top: 0 !important;
}

.sidebar-content h2.wp-block-heading {letter-spacing: 0 !important; font-size: 1.4rem !important;}
 
.sidebar-content .wp-block-paragraph {font-size: 1rem !important;}

.page-with-sidebar .wp-block-group.is-layout-grid:nth-child(2):not(.sidebar-content) {margin-left: 35px !important;}

.wp-block-group.sidebar-side-by-side-content img {border: 1px solid #ccc;}

.main-page-content .is-layout-grid .wp-block-paragraph {padding-left: 10px !important;}

.wp-block-group.is-layout-grid.wp-block-group-is-layout-grid .wp-block-group:has(.sidebar-content) {padding: 0 !important;}


/* Book Contests */

.book-thumbnail img {
  width: 150px !important;
  max-width: 150px !important;
  height: 225px !important;
  object-fit: cover !importnt;
  box-shadow: 2px 6px 10px rgb(0 0 0 / 25%);
  border: 1px solid #ccc !important;
}

.wp-site-blocks {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow-x: hidden;
}


/* Etchings Magazine */

.wp-block-group:has(.magazine-details) {padding-bottom: 0 !important;}

.magazine-details {margin-top: 20px !important;}


/* Search Results */

.search .wp-block-columns {padding: 0 !important; border-top-color: transparent !important;}

.search .wp-block-column:empty {display: none;}


/* Footer */

footer {
    background-color: #eee;
    margin-top: auto;

    h2 {text-transform: uppercase; font-family: inherit; font-weight: bold;}
}


/* Back to Top Button */

#back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background-color: #111111;
    color: #ffffff;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

#back-to-top.is-visible {opacity: 1; visibility: visible;}

#back-to-top:hover,
#back-to-top:focus {
    background-color: #333333;
    transform: translateY(-3px);
    outline: 2px solid #1a1a1a; /* Visible focus ring for accessibility */
    outline-offset: 0.2em;
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
    #back-to-top {transition: none;}
}


/*blockquote cite {
    display: block;
    font-size: 1em;
    font-weight: 600;
    margin-top: 1em;
    font-family: Roboto;
    color: #595959 !important;
}*/


/* --- Tablet --- */

@media screen and (max-width: 1024px) {

  /* Heading */

  h1.wp-block-post-title {margin-bottom: 25px !important; font-size: 38px !important; margin-left: 0 !important;} 

  
  /* Pages with Sidebar */

  .book-details.wp-block-group figure {margin-right: 0 !important;}

  .sidebar-content h2.wp-block-heading {text-align: left !important;}

  .wp-block-group.is-layout-grid:has(.sidebar-content) {
    grid-template-columns: 1fr;
    padding: 0 !important;
    grid-column: span 2;
    grid-row: span 2;
  }

  .wp-block-group.sidebar-side-by-side-content {
    grid-template-columns: auto auto;
    display: grid;
    margin-bottom: 50px !important;

    & figure {margin-right: 20px !important;}
 
    & p {margin-top: 0 !important;}
  }
}


@media screen and (max-width: 768px) {

    /* Navigation Overlay */

    p.wp-block-site-tagline.wp-block-hidden-mobile {margin-left: 10px !important; margin-top: 5px !important; transition: 200ms all ease;}

    .is-vertical.wp-block-navigation.is-content-justification-stretch.is-layout-flow {margin-left: 10px !important;}

    button.wp-block-navigation-overlay-close {padding: 0 !important; margin-bottom: 25px !important;}

    
    /* Latest on Etchings (Home) */

    .home .wp-block-group.is-layout-grid {grid-template-columns: auto auto;}


    /* Specific Pages with Sidebar */

    .wp-block-group.book-details .wp-block-paragraph {margin-left: 15px !important;}

    .main-page-content .is-layout-grid .wp-block-paragraph {padding-left: 0 !important;}

    .wp-block-group.page-with-sidebar .wp-block-group {display: grid !important; flex-direction: column;}

    .page-with-sidebar .wp-block-group.is-layout-grid:nth-child(2):not(.sidebar-content) {margin-left: 80px !important;}

    .sidebar-content h2.wp-block-heading, .sidebar-content figure {margin-left: 0 !important;}

    .wp-block-group.sidebar-side-by-side-content {margin-bottom: 0 !important;}

    .wp-block-group.page-with-sidebar .wp-block-group {display: flex; flex-direction: column;}

 
    /* Book Details */

    .page-child .book-details {grid-template-columns: repeat(3, minmax(0, 1fr));}

    p.wp-block-paragraph:not(.book-details p):empty {display: none;}


    /* Whirling Prize */    

    .winner-details {grid-template-columns: 1fr;}


    /* Search Results */

    .search .wp-block-post-featured-image {width: fit-content !important;}

    .search .wp-block-columns {grid-template-columns: auto auto; display: grid;}

    .search body .is-layout-flex {display: grid;}

    .wp-block-navigation .wp-block-navigation-item {margin-bottom: 15px !important;}
    
    
    /* Footer */

    footer .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow:last-child {margin-top: 25px !important;}

}

/* Mobile */

@media screen and (max-width: 480px) {

  /* Navigation Overlay */

  button.wp-block-navigation-overlay-close {margin-bottom: 0 !important;}


  /* Slider */

  .flex-viewport {max-height: 350px !important; text-align: center;}

  .flexslider .slides img {max-height: 350px !important;}

   
  /* Specific Pages with Sidebar / Grid View Column Stack */

  .wp-block-group.book-details {
        display: grid !important;
        grid-template-columns: 1fr;
        max-width: 300px;
	margin: 0 !important;
  }

  .home .wp-block-group.is-layout-grid,
  .wp-block-group.page-with-sidebar .wp-block-group {grid-template-columns: 1fr;}

  .page-with-sidebar .wp-block-group.is-layout-grid:nth-child(2):not(.sidebar-content) {margin-left: 0 !important;}

  .wp-block-group.sidebar-side-by-side-content {
        & figure:not(.page-id-4505 figure) {text-align: center; margin: 0 !important;}
  }

  .page-id-4505 .wp-block-image.aligncenter {margin-left: 0 !important; margin-right: 0 !important; text-align: left !important;}

  .sidebar-content figure img {max-width: 300px !important;}

  .wp-block-group .wp-block-image img:not(.sidebar-content img, .square-image img), 
  .page-with-sidebar .wp-block-group .wp-block-image img:not(.sidebar-content img) {width: auto !important;}

  .wp-block-group.book-details .wp-block-paragraph {margin-left: 0 !important;}

  .sidebar-content figure.wp-block-image.size-full.is-resized {margin: 0 !important;}

  .wp-block-group.sidebar-side-by-side-content {grid-template-columns: 1fr !important;}

  .wp-block-group.sidebar-side-by-side-content p {margin-top: 20px !important;}


  /* Search Results */

  .search .wp-block-columns {display: flex;}


  /* Podcasts */

  .podcasts {grid-template-columns: auto auto;}

  .podcast-details {grid-template-columns: 1fr;}
}

@media screen and (max-width: 414px) {h1 {font-size: 2.4rem;}}
