/* =====================================================================
   ROBINS PHOTOGRAPHY — INNER PAGES
   Brings About, Wedding, the service pages, Gallery, Contact and Blog
   in line with the home page (paper / ink / safelight red, Fraunces +
   Manrope). Loaded after each page's own CSS; everything is scoped to
   <body class="rx-inner"> so the home page is not affected.
   ===================================================================== */
body.rx-inner{
  --paper:#ebe6dc; --print:#f8f5ef; --ink:#0c0b0a; --red:#d23c2c;
  --line-l:rgba(12,11,10,.14); --mute-l:#5f5a52;
  --display:'Fraunces',Georgia,serif;
  --sans:'Manrope','Raleway',system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(16px,4vw,64px);
  margin:0;
  padding-top:78px;                       /* room for the fixed header bar */
  background:var(--paper) !important;
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
.rx-inner img{max-width:100%}
.rx-inner ::selection{background:var(--red);color:#fff}

/* ---------- Page banner (.head_img) ---------- */
.rx-inner .head_img{position:relative;width:100%;overflow:hidden;background:var(--ink)}
.rx-inner .head_img img{
  display:block;width:100% !important;height:clamp(300px,68vh,760px) !important;
  object-fit:cover;animation:rxBanner 1.6s var(--ease) both;
}
.rx-inner .head_img::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:28%;pointer-events:none;
  background:linear-gradient(180deg,rgba(235,230,220,0),var(--paper));
}
@keyframes rxBanner{from{transform:scale(1.06);opacity:.4}to{transform:none;opacity:1}}

/* ---------- Text sections (.section-w services / .section-1 about) ---------- */
body.rx-inner .section-w,
body.rx-inner .section-1{margin-top:0 !important;padding:clamp(44px,7vw,110px) 0 clamp(30px,5vw,70px);overflow:visible}
.rx-inner .section-w .container,
.rx-inner .section-1 .container{max-width:1240px;padding-left:var(--gutter);padding-right:var(--gutter)}
.rx-inner .section-w .row,
.rx-inner .section-1 .row{row-gap:28px}

.rx-inner .section-w p,
.rx-inner .section-1 p,
.rx-inner .p2 p{
  font-family:var(--sans);font-size:clamp(15px,1.05vw,17px);line-height:1.8;
  color:var(--mute-l);text-align:left;padding:0;margin:0 0 1.1em;
}
/* small eyebrow labels ("WEDDING PHOTOGRAPHY", "PHOTOGRAPHERS") */
.rx-inner .section-w .col-md-6 > span,
.rx-inner .section-1 .p > p:first-child{
  display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;
  font:600 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--red);
}
.rx-inner .section-w .col-md-6 > span::before,
.rx-inner .section-1 .p > p:first-child::before{content:"";width:28px;height:1px;background:currentColor}

/* headings */
.rx-inner .section-w h4,
.rx-inner .section-1 .p h3,
.rx-inner .p2 h3{
  font-family:var(--display);font-style:normal;font-weight:300;color:var(--ink);
  letter-spacing:-.02em;line-height:1.06;margin:0 0 .55em;
}
.rx-inner .section-w h4{font-size:clamp(32px,4.2vw,58px)}
.rx-inner .section-1 .p h3{font-size:clamp(34px,4.6vw,64px)}
.rx-inner .p2 h3{font-size:clamp(26px,2.8vw,40px);margin-top:.9em}
.rx-inner .section-w .col-md-12{padding-top:clamp(10px,2vw,30px);border-top:1px solid var(--line-l);margin-top:clamp(10px,3vw,40px)}
.rx-inner .section-w .col-md-12 p:first-child{padding-top:clamp(18px,2.5vw,32px)}

/* "view more" link on About */
.rx-inner .view_more{
  display:inline-block;margin:4px 0 22px;padding-bottom:6px;text-decoration:none;
  font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);
  border-bottom:1px solid var(--red);transition:color .3s;
}
.rx-inner .view_more:hover{color:var(--red)}

/* photos + carousel */
.rx-inner .image_sec{width:100% !important;overflow:hidden;background:#d9d3c7}
.rx-inner .image_sec img{
  width:100% !important;height:auto !important;aspect-ratio:4/5;object-fit:cover;display:block;
  transition:transform 1.2s var(--ease);
}
.rx-inner .image_sec:hover img{transform:scale(1.03)}
.rx-inner .section-w .carousel,
.rx-inner .section-1 .col-md-6 > .image_sec{max-width:540px;margin-left:auto;box-shadow:0 30px 60px -30px rgba(12,11,10,.45)}
.rx-inner .section-w .carousel-control-prev,
.rx-inner .section-w .carousel-control-next{
  top:auto;bottom:16px;width:44px;height:44px;border-radius:50%;opacity:1;
  background:rgba(12,11,10,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background .3s;
}
.rx-inner .section-w .carousel-control-prev{left:auto;right:68px}
.rx-inner .section-w .carousel-control-next{right:16px}
.rx-inner .section-w .carousel-control-prev:hover,
.rx-inner .section-w .carousel-control-next:hover{background:var(--red)}
.rx-inner .section-w .carousel-control-prev-icon,
.rx-inner .section-w .carousel-control-next-icon{width:14px;height:14px}

/* ---------- Wedding page image slider (slick) ---------- */
.rx-inner section:has(> .image-sliders){overflow:hidden}
.rx-inner .image-sliders{margin:10px auto 80px !important}
.rx-inner .image-sliders .slick-prev,
.rx-inner .image-sliders .slick-next{z-index:2;width:44px;height:44px;border-radius:50%;background:rgba(12,11,10,.55)}
.rx-inner .image-sliders .slick-prev{left:12px}
.rx-inner .image-sliders .slick-next{right:12px}
.rx-inner .image-sliders .slick-prev:before,
.rx-inner .image-sliders .slick-next:before{color:#fff;font-size:20px;opacity:1}
.rx-inner .slider-item img{border-radius:2px !important;transition:transform .9s var(--ease),filter .5s}
.rx-inner .slider-item:hover img{transform:scale(1.04)}
.rx-inner .slick-dots{bottom:-40px !important}
.rx-inner .slick-dots li button:before{color:var(--ink);font-size:9px}
.rx-inner .slick-dots li.slick-active button:before{color:var(--red);opacity:1}

/* ---------- FAQ accordion ---------- */
body.rx-inner .section-q{padding:clamp(40px,6vw,90px) 0 clamp(50px,7vw,110px);margin:0}
.rx-inner .section-q .container{max-width:980px;padding-left:var(--gutter);padding-right:var(--gutter);border-bottom:1px solid var(--line-l)}
.rx-inner .section-q .acc > hr,
.rx-inner .section-q .acc > br{display:none}
body.rx-inner .accordion{
  position:relative;display:block;width:100%;background:transparent;color:var(--ink);
  border:0;border-top:1px solid var(--line-l);padding:24px 60px 24px 0;text-align:left;
  font-family:var(--display);font-weight:400;font-size:clamp(17px,1.6vw,22px);line-height:1.35;
  transition:color .3s;
}
.rx-inner .accordion .overlay{display:none}
.rx-inner .accordion::after{
  content:"";position:absolute;right:2px;top:50%;width:38px;height:38px;margin-top:-19px;border-radius:50%;
  border:1px solid var(--line-l);
  background:linear-gradient(currentColor,currentColor) center/12px 1.5px no-repeat,
             linear-gradient(currentColor,currentColor) center/1.5px 12px no-repeat;
  transition:transform .5s var(--ease),border-color .3s,background-color .3s;
}
body.rx-inner .accordion:hover,
body.rx-inner .section-q .accordion.active{color:var(--red)}
.rx-inner .accordion.active::after{transform:rotate(45deg);border-color:var(--red)}
body.rx-inner .panel{background:transparent;color:var(--mute-l);padding:0 60px 0 0}
body.rx-inner .panel p{margin:0;padding:0 0 26px;font-family:var(--sans);font-size:clamp(15px,1vw,16.5px);line-height:1.8;color:var(--mute-l)}

/* ---------- Contact ---------- */
body.rx-inner .map{margin-top:clamp(36px,6vw,90px) !important;max-width:1240px;padding-left:var(--gutter);padding-right:var(--gutter)}
.rx-inner .map .row{margin-left:0;margin-right:0}
.rx-inner .map iframe{border:0;display:block;filter:grayscale(.35) contrast(1.05);box-shadow:0 30px 60px -30px rgba(12,11,10,.45)}
.rx-inner .map-content{align-items:center}
.rx-inner .map-content span{
  display:block;margin-bottom:18px;font-family:var(--display);font-style:italic;font-weight:300;
  color:var(--red);font-size:clamp(40px,5vw,66px);line-height:1;text-transform:none;
}
.rx-inner .map-content p{color:var(--mute-l);font-size:16px;line-height:1.75}
.rx-inner .map-content p b{color:var(--ink);font-weight:600}
body.rx-inner .map .map-content a{
  display:inline-flex;align-items:center;margin:6px 8px 0 0;padding:11px 24px;border-radius:999px;
  background:var(--ink) !important;color:var(--paper);text-decoration:none;
  font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;transition:background .3s;
}
body.rx-inner .map .map-content a:hover{background:var(--red) !important}
.rx-inner .cnt-form{margin:20px 0 70px;padding:clamp(24px,4vw,46px);background:var(--print);border:1px solid var(--line-l)}
.rx-inner .cnt-form h3{font-family:var(--display);font-weight:300;font-size:clamp(28px,3vw,42px);color:var(--ink);letter-spacing:-.01em}
.rx-inner .cnt-form p{color:var(--mute-l)}
.rx-inner .cnt-form .form-control{
  border:0;border-bottom:1px solid rgba(12,11,10,.25);border-radius:0;background:transparent;
  padding:12px 0;font-size:16px;color:var(--ink);box-shadow:none;transition:border-color .3s;
}
.rx-inner .cnt-form .form-control:focus{border-color:var(--ink);box-shadow:none}
.rx-inner .cnt-form label{font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;margin-top:14px}
.rx-inner .cnt-form .btn-primary{
  margin-top:10px;padding:14px 34px !important;border:0;border-radius:999px;background:var(--ink);color:var(--paper);
  font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;transition:background .3s;
}
.rx-inner .cnt-form .btn-primary:hover{background:var(--red)}

/* ---------- Gallery ---------- */
body.rx-inner > .row{max-width:1440px;margin:clamp(32px,5vw,70px) auto 10px !important;padding:0 clamp(4px,2vw,36px)}
.rx-inner .thumbnail{border-radius:2px !important;cursor:zoom-in;box-shadow:none !important;transition:transform .8s var(--ease),filter .4s}
.rx-inner .thumbnail:hover{transform:scale(1.02);filter:contrast(1.05)}
.rx-inner .hidden-images{flex-direction:column;width:100%;padding:0}
.rx-inner .hidden-images .row{margin:0 !important}
body.rx-inner #view-more-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;min-width:56px;height:56px;margin:10px auto 80px;
  padding:0 26px;border-radius:999px;background:var(--ink);color:var(--paper);
  font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;transition:background .3s,transform .5s var(--ease);
}
body.rx-inner #view-more-btn:hover{background:var(--red);transform:translateY(-2px)}
body.rx-inner #lightbox{z-index:2000;background:rgba(8,8,7,.94)}
body.rx-inner #lightbox img{width:auto;max-width:92vw;max-height:84vh;object-fit:contain}
body.rx-inner #close-btn{margin-top:0;top:18px;right:22px;font-size:40px;line-height:1}
body.rx-inner #image-count{margin-top:0;top:30px;left:24px;transform:none;font:600 12px/1 var(--sans);letter-spacing:.2em}
body.rx-inner #prev-btn,
body.rx-inner #next-btn{
  width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.25);font-size:20px;transition:background .3s;
}
body.rx-inner #prev-btn:hover,
body.rx-inner #next-btn:hover{background:var(--red)}
body.rx-inner #prev-btn{left:18px}
body.rx-inner #next-btn{right:18px}

/* ---------- Blog list ---------- */
.rx-inner .blog-section .container{max-width:1320px}
.rx-inner .blog-section .blogs > div{margin-bottom:28px}
.rx-inner .blog-section .card{
  height:100%;border:0;border-radius:2px;overflow:hidden;cursor:pointer;background:var(--print);
  transition:transform .6s var(--ease),box-shadow .6s var(--ease);
}
.rx-inner .blog-section .card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -28px rgba(12,11,10,.5)}
.rx-inner .blog-section .img-div{height:clamp(220px,22vw,300px);overflow:hidden}
.rx-inner .blog-section .img-div img{object-fit:cover;transition:transform 1s var(--ease)}
.rx-inner .blog-section .card:hover .img-div img{transform:scale(1.05)}
.rx-inner .blog-section .card-title{font-family:var(--display);font-weight:400;font-size:21px;color:var(--ink)}
.rx-inner .blog-section .cnt{font-size:14.5px;line-height:1.7;color:var(--mute-l)}
.rx-inner .blog-section .card-footer{background:transparent;border-top:1px solid var(--line-l)}
.rx-inner .blog-btn{
  display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:var(--ink);
  font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;
}
.rx-inner .blog-btn:hover{color:var(--red)}

/* ---------- Blog article ---------- */
.rx-inner .blog-details-section .container{max-width:860px;padding-left:var(--gutter);padding-right:var(--gutter)}
.rx-inner .blog-details-section .row{margin-left:0;margin-right:0}
.rx-inner .blog-details-section .blog-image{width:100%;padding:0;aspect-ratio:16/9;object-fit:cover;border-radius:2px}
.rx-inner .blog-details-section .title{font-family:var(--display);font-weight:300;font-size:clamp(32px,4.4vw,56px);line-height:1.08;letter-spacing:-.02em;margin:32px 0 16px;padding:0}
.rx-inner .blog-details-section .author,
.rx-inner .blog-details-section .date{padding:0;font:600 11px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute-l)}
.rx-inner .blog-details-section .date{color:var(--red);margin-bottom:26px}
.rx-inner .blog-details-section .content{padding:0;font-size:17px;line-height:1.85;color:#2b2925}
.rx-inner .blog-details-section .content img{max-width:100%;height:auto}
.rx-inner .blog-details-section .content h2,
.rx-inner .blog-details-section .content h3{font-family:var(--display);font-weight:400;color:var(--ink);margin-top:1.4em}

/* ---------- Scroll reveal (classes added by load-components.js) ---------- */
.rx-rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rx-rv.is-in{opacity:1;transform:none}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  body.rx-inner{padding-top:64px}
  .rx-inner .head_img img{height:clamp(260px,58vh,520px) !important}
  .rx-inner .section-w .carousel,
  .rx-inner .section-1 .col-md-6 > .image_sec{max-width:none;margin-left:0}
  .rx-inner .section-w .col-md-12{border-top:0;margin-top:0}
  body.rx-inner .accordion{padding:20px 52px 20px 0}
  .rx-inner .accordion::after{width:34px;height:34px;margin-top:-17px}
  body.rx-inner .panel{padding-right:0}
  .rx-inner .map iframe{height:300px}
  .rx-inner .map-content{padding-top:8px}
  .rx-inner .cnt-form{margin-bottom:50px}
  .rx-inner .slider-item{height:420px !important;margin:0 !important}
  body.rx-inner #prev-btn,
  body.rx-inner #next-btn{top:auto;bottom:24px;transform:none}
  body.rx-inner #prev-btn{left:calc(50% - 58px)}
  body.rx-inner #next-btn{right:calc(50% - 58px)}
}
@media (prefers-reduced-motion:reduce){
  .rx-inner .head_img img{animation:none}
  .rx-rv{opacity:1;transform:none;transition:none}
}
